如何在多个不同的对象中将FBRequest委托设置为nil

时间:2011-11-20 13:13:56

标签: ios facebook delegates

我正在使用Facebook sdk for ios,我面临着如何安全地将委托设置为nil的问题。我的facebook对象是appDelegate的一个属性,我在多个不同的对象中使用这个对象来检索不同的信息。因此,假设对象A,B和C符合FBRequest协议并被设置为facebook对象的委托。现在在对象A的dealloc方法中,我想确保对象A不再是委托,所以我可以这样做:facebookObj.delegate = nil。但是,我觉得这会影响其他委托对象B和C.我是否正确思考?有没有办法从Facebook代表中删除对象A而不影响对象B和C? 希望这个问题有道理。 非常感谢。

1 个答案:

答案 0 :(得分:0)

我认为你从A,B和C对象发出的每个请求都有一个单独的FBRequest对象,不是吗?据我所知,FBRequest对象仅在请求处理时存在。一旦完成或失败,物体就会消失,不是吗?当然,如果您保留对此请求的引用,它将看起来像那样,因为你有一个地址但是如果你尝试发送消息它会崩溃(除非使用带弱引用的ARC,我怀疑你正在使用)。

从每个对象(A,B和C)中尝试:

NSLog(@"FBRequest address %@", your_fbrequest_object);

看看它是否总是打印相同的地址或不同的地址。