"是做什么用的?-6ren"> "是做什么用的?-谁能告诉我尖括号是什么在一个Objective-C类接口(interface)中做什么?就像这个(来自 http://snipt.net/robhawkes/cocoa-class-interface-6ren">
gpt4 book ai didi

objective-c - Obj-C 类接口(interface)中的尖括号 "<…>"是做什么用的?

转载 作者:太空狗 更新时间:2023-10-30 03:13:19 24 4
gpt4 key购买 nike

谁能告诉我尖括号是什么<...>在一个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 及其子类会失败),并且它还必须同时符合 NSCodingUITableViewDelegate 协议(protocol)。

在 Java 或 C# 中,这只能通过实际声明所述类来实现。

关于objective-c - Obj-C 类接口(interface)中的尖括号 "<…>"是做什么用的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1913935/

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