gpt4 book ai didi

objective-c - 有没有办法在 Objective-C 中捕获发送到 nil 的消息?

转载 作者:太空狗 更新时间:2023-10-30 03:24:06 25 4
gpt4 key购买 nike

我刚刚被一个烦人的 bug 咬了Objective-C 中的“向 nil 发送消息是可以的”行为使这一点变得模糊不清。

我看过 Sending a message to nil? ,并且共识似乎是“这就是我们在 Objective-C 中的方式”。

现在,也许我在 Objective-C 方面没有足够的经验,但似乎捕获它是有用的,因为我想不出为什么这应该发生的充分理由most 的时间。但是,它可能只是我还不习惯的编码习惯用法。

所以除了像这样到处检查 nil 之外:

assert( object != nil );
[object message];

有没有办法让运行时捕获这种情况,并在 object 为 nil 时发出警告?

最佳答案

你可以使用 ObjC undocumented trick or dtrace (请参阅 dtrace 解决方案的注释)。

pid$1::objc_msgSend:entry
/arg0==0/
{
ustack();
}

关于objective-c - 有没有办法在 Objective-C 中捕获发送到 nil 的消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/914166/

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