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



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

我认为你有一个单独的FBRequest对象的每个请求,你从你的A, B和C对象发射,不是吗?据我所知,FBRequest对象只在请求处理时存在。一旦完成或失败,对象就消失了,不是吗?现在,当然,如果你保持对这个请求的引用,它将看起来就像它在那里,因为你有一个地址,但如果你试图发送消息,它将崩溃(除非使用弱引用的ARC,我怀疑你正在使用)。

从每个对象(A, B &C):

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

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

最新更新