gpt4 book ai didi

objective-c - 我可以在我的方法中使用 self = nil 吗?

转载 作者:行者123 更新时间:2023-12-04 06:11:36 26 4
gpt4 key购买 nike

我可以用吗

self = nil 

在实例方法中,这样当方法执行结束时,我可以在主类中使用 if 语句:

if (myInstance) 

检查是否出了问题?

谢谢

最佳答案

可以这样做,但它没有您想要的效果

考虑 -[NSArray count] 的 objc 方法签名具有以下 C 函数签名:

NSUInteger NSArray_count(NSArray * self, SEL _cmd) {
self = nil; // ok - this is a variable, local to the function (method).
// now all messages to `self` will do nothing - in this method only.
...
}

由于您分配给 nil 的指针是该方法的局部变量,因此它实际上不会影响外部实例。它改变了方法范围内的指针变量。该变量是传递的参数。实际上,这意味着您已将本地参数设置为 nil,但世界其他地方不承认此更改。

关于objective-c - 我可以在我的方法中使用 self = nil 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7714638/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com