为什么自我为零时设置属性崩溃?

时间:2020-10-26 13:58:38

标签: ios objective-c properties null

在某些罕见情况下,我的应用程序在此行代码上崩溃

self.dataBuffer = nil;

该属性被声明为

@property (strong, nonatomic) NSMutableData* dataBuffer;

对我来说,这条线看起来非常安全。我认为点语法只是[self setDataBuffer:nil]的简写,这里可能发生的唯一奇怪的事情是self == nil,但是选择器应该忽略而不是崩溃。但是,将行换成if (self != nil)似乎可以防止崩溃。所以显然不安全吗?

为什么?


如果有问题,它实际上位于({a}的旧版本)MQTTClient中,与this crash.相关

0 个答案:

没有答案