Is there ever a chance that topicObjectID could be old and may not exist?  If so you may wish to use existingObjectWithID:error since objectWithID will always return a fault if the object doesn't exist but then throw an exception when you try to use it/access the properties.