什么是检查协议响应的安全方法

时间:2010-05-19 01:00:00

标签: iphone objective-c uiviewcontroller nsurlconnection

这是一个场景:

视图控制器将新控制器推送到导航控制器。此子控制器创建一个使用NSURLConnection的模型。当此连接完成后,它将进行如下调用:

[self.delegate modelDidFinishParsing:self];

生成此代码的安全方法是什么?现在,我有这个代码,它在某种情况下崩溃:

if ([self.delegate conformsToProtocol:@protocol(ModelDelegate)]) [self.delegate modelDidFinishParsing:self];

崩溃的情况是在模型完成之前从堆栈中弹出拥有模型的视图控制器。我应该将模型设为ivar,以便控制器在自己的- (void)dealloc

中释放它

1 个答案:

答案 0 :(得分:1)

在您的支票中,您可以确保代表不是nil

if (self.delegate && [self.delegate conformsToProtocol...]) [self.delegate modelDidFinishParsing:self];