gpt4 book ai didi

ios - 为什么我们不应该使用 AnyObject?

转载 作者:行者123 更新时间:2023-11-30 13:34:40 25 4
gpt4 key购买 nike

我目前正在通过观看 stanford ios 教程系列来学习 swift。讲师在第一节课中提到我们不应该使用AnyObject。我只是想知道这背后的原因是什么?这是一种不好的编码习惯吗?还是因为其他一些原因?预先感谢您的帮助!

enter image description here

最佳答案

AnyObject 表示任何类型的类(或引用类型),类似于 Objective-C 中的 id。它是所有类都隐式遵守的协议(protocol)。
问题是编译器在编译时不知道它是哪种类型的对象,这意味着您可以轻松构建一个将方法发送到错误的应用程序对象。
这通常会在 NSObject 子类上触发此类异常“无法识别的选择器发送到实例 XXXXXX”并导致崩溃。
Swift 喜欢强类型,这确实很有帮助,因为您可以在问题发生之前解决问题,但如果您将对象定义为 AnyObject,它可以是一切。

关于ios - 为什么我们不应该使用 AnyObject?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36217523/

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