提问人:Max 提问时间:10/26/2020 更新时间:10/26/2020 访问量:102
为什么当 self 为 nil 时设置属性会崩溃?
Why does setting a property crash when self is nil?
问:
在极少数情况下,我的应用程序在这行代码上崩溃
self.dataBuffer = nil;
该属性声明为
@property (strong, nonatomic) NSMutableData* dataBuffer;
对我来说,这条线看起来非常安全。我以为点语法只是 的简写,这里唯一可能发生的奇怪事情是 ,但是应该忽略选择器,而不是崩溃。但是,将线路包裹起来似乎可以防止崩溃。所以显然它不安全?[self setDataBuffer:nil]
self == nil
if (self != nil)
为什么?
如果重要的话,这实际上是在与这次崩溃相关的(非常旧版本的)库 MQTTClient 中。
答: 暂无答案
评论
self
dealloc
setDataBuffer
self
objc_msgSend