谁能告诉我尖括号是什么<...>
在一个Objective-C类接口(interface)中做什么?就像这个(来自 http://snipt.net/robhawkes/cocoa-class-interface ):
@interface MapMeViewController : UIViewController <CLLocationManagerDelegate,
MKReverseGeocoderDelegate, MKMapViewDelegate, UIAlertViewDelegate> { ... }
在我看来,它们看起来像是某种类型声明(考虑到我以前在 PHP 和 JavaScript 方面的经验),就像我们要确保 MapMeViewController
一样。是 CLLocationManagerDelegate
, MKReverseGeocoderDelegate
, MKMapViewDelegate
, 或 UIAlertViewDelegate
关于 @interface
的文档语法似乎没有提到这一点。
最佳答案
类接口(interface)定义中的尖括号表示您的类所遵循的协议(protocol)。
协议(protocol)几乎就像 Java 或 C# 中的接口(interface),此外 Objective-C 协议(protocol)中的方法可以是可选的。
此外,在 Objective-C 中,您还可以声明变量、参数或实例变量以符合多个协议(protocol)。示例
NSObject<NSCoding, UITableViewDelegate> *myVariable;
在这种情况下,该类必须是 NSObject
或其子类(只有 NSProxy
及其子类会失败),并且它还必须同时符合 NSCoding
和 UITableViewDelegate
协议(protocol)。
在 Java 或 C# 中,这只能通过实际声明所述类来实现。
关于objective-c - Obj-C 类接口(interface)中的尖括号 "<…>"是做什么用的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1913935/