gpt4 book ai didi

iphone - "adopt a protocol"在 Objective-C/Cocoa 文档中到底是什么意思?

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

我是一名 C# 开发人员,刚开始进行 Objective-C/Cocoa Touch 编程。我想我可能弄错了一些术语,因为我一直在“以 C# 方式”思考它们。具体来说,我在各种文档和教程中遇到了术语“协议(protocol)”。

在 Objective-C 中,协议(protocol)到底是什么?它可以与 C# 界面相提并论吗?

下面的声明是否等同于“该类正在实现协议(protocol) UITextFieldDelegate”?还是将 UITextFieldDelegate 与 C# 中的泛型类型参数进行比较?

@interface MyViewController : UIViewController <UITextFieldDelegate> { }

最佳答案

在 Objective-C 中,协议(protocol)是选择器/方法集合的名称,类似于 Java 中的接口(interface)声明(可能也在 C# 中)。

@interface MyViewController : UIViewController <UITextFieldDelegate> { }

表示类MyViewController继承自类UIViewController并采用/实现协议(protocol)UITextFieldDelegate

这意味着 MyViewController 必须实现在 UITextFieldDelegate 中声明的所有方法。

编辑:似乎随着 Objective-C 2.0 的引入,引入了将协议(protocol)方法标记为 @optional@required 的可能性。参见 Apples Objective-C documentation可选协议(protocol)方法部分.

维基百科关于 Objective-C Protocols 的有用链接.

关于iphone - "adopt a protocol"在 Objective-C/Cocoa 文档中到底是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2844394/

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