gpt4 book ai didi

ios - 协议(protocol)必须符合 NSObject 协议(protocol)吗?

转载 作者:IT王子 更新时间:2023-10-29 08:08:49 29 4
gpt4 key购买 nike

NSObject 协议(protocol)带有常用的协议(protocol)模板,但它似乎并不是协议(protocol)实际实现所必需的。将其排除在外似乎完全没有任何改变。那么,协议(protocol)真的有必要继承它,还是只是一个不必要的附加组件?

最佳答案

多年来我(以及许多像我一样的人)没有让我们的协议(protocol)符合 <NSObject> .它工作正常。但这通常很烦人。最常见的烦恼是您不能使用 respondsToSelector:没有投回 NSObject* (这破坏了协议(protocol)的全部意义)。这在 ObjC1 时代并不重要,因为没有 @optional ,所以我们都没有人担心它(那些日子我们根本没有使用协议(protocol),因为没有 @optional 它们就没那么有用了)。然后 ObjC2 伴随着可选方法的精彩添加而突然出现 respondsToSelector:重要的。对于我们这些慢一点的人来说花了一点时间,但最终我们开始发现,如果你让你的协议(protocol)符合 <NSObject>,生活会简单得多。 .幸运的是,这现在已经进入 Xcode,让每个人都能更轻松、更方便地做事。

但是不,您不必这样做。在很多情况下这并不重要。但没有太多理由不这样做,所以我推荐它。

关于ios - 协议(protocol)必须符合 NSObject 协议(protocol)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10049617/

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