dri*_*iis 8 iphone objective-c
我是一名C#开发人员,开始使用Objective-C/Cocoa Touch编程.我想我可能有些错误,因为我一直在考虑它们"C#方式".具体来说,我在各种文档和教程中使用了术语"协议".
在Objective-C中,协议究竟是什么?它可以与C#接口进行比较吗?
以下声明是否与"该类正在实现协议UITextFieldDelegate"相同?或者是否要将UITextFieldDelegate与C#中的泛型类型参数进行比较?
@interface MyViewController : UIViewController <UITextFieldDelegate> { }
Run Code Online (Sandbox Code Playgroud)
在Objective-C中,protocoll是选择器/方法集合的名称,就像Java中的接口声明(可能也在C#中).
@interface MyViewController : UIViewController <UITextFieldDelegate> { }
Run Code Online (Sandbox Code Playgroud)
表示类MyViewController继承自类UIViewController并采用/实现协议UITextFieldDelegate.
这意味着MyViewController必须实现在中声明的所有方法UITextFieldDelegate.
编辑:似乎在引入目标C 2.0的作为可能性标记的协议的方法@optional和@required进行了介绍.见Optional Protocol Methods的苹果Objective-C的文档.
来自wikibooks关于Objective-C Protocols的有用链接.
| 归档时间: |
|
| 查看次数: |
1664 次 |
| 最近记录: |