gpt4 book ai didi

objective-c - 向 objective-c 中的 nil 对象发送消息是否有缺点?

转载 作者:行者123 更新时间:2023-12-04 03:19:14 25 4
gpt4 key购买 nike

我是一名 C++ 程序员,有大量时间使用 C#。但是,我现在正在使用 Objective C,我想知道,向 Objective C 中的 nil 对象发送消息是否有缺点?

例如,我很习惯这样做:

MyClass* c = NULL;
// ...
if( c != NULL ) c->MyMethod();

所以在 Objective C 中,我发现自己在做:

MyClass* c = nil;
// ...
if( c != nil ) [c MyMethod];

所以我想知道的是,检查 nil 有什么好处吗?如果我尝试向 nil 发送消息,Objective C 是否足够聪明,不会做任何额外的奇怪处理?或者是否有一些隐藏的成本使得继续检查 nil 是值得的?

最佳答案

在 Objective-C 中你不需要检查 nil,传递一个 nil valid 是完全有效的,并且如果返回值是一个整数,大多数时候将返回 nil 或 0。如果传递的消息的返回值是 float、double 或 struct,则返回值是未定义的。

关于objective-c - 向 objective-c 中的 nil 对象发送消息是否有缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5877865/

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