【发布时间】:2013-05-03 15:34:23
【问题描述】:
我有一个类将委托消息发送到另一个类。 如果其他班级没有在听,则应用程序崩溃。 在我发送消息之前,我正在寻找一种方法来检查其他班级是否正在收听。
所以在发布委托的班级中,我有这个条件检查:
if ([self.delegate respondsToSelector:@selector(NewDataFromSocketWithString:WithCommand:)])
[self.delegate NewDataFromSocketWithString:final WithCommand:c];
在某种程度上,条件总是为真,即使获得委托的类已经被释放并且不再存在。
我如何在发帖前检查代理以消除崩溃?
【问题讨论】:
-
您的问题似乎是您使用的是伪造的委托指针,而不是委托没有“响应”。您需要确保保留委托对象,或者确保在对象被销毁时将指针设置为零。
标签: objective-c