gpt4 book ai didi

objective-c - Objective-C 中实例变量上的协议(protocol)如何工作?

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

最近我看到了很多代码,例如:

id<foo> aBar;

通常这是我在类声明中看到的内容,例如:

@interface bar : UIViewController <UITableViewDelegate, UITableViewDataSource>

以上是否意味着 aBar 可能是类 bar 的一个实例并 promise 拥有 foo 协议(protocol)中声明的所有方法?

最佳答案

关闭。这意味着 aBar 将是一个符合协议(protocol) foo 的类的实例。它可以是 bar(如果该类符合 foo)或符合 foo 的另一个类。从该声明中,您只知道 aBar 符合协议(protocol)。

此外,这些仅在编译时检查,而不是运行时。可以在 aBar 中放置一个对象,该对象不是符合 foo 的类的实例。但在大多数情况下,编译器会警告您。

关于objective-c - Objective-C 中实例变量上的协议(protocol)如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/664866/

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