嗨,<< >在ios?我无法找到一些相关的文档。
以下是其使用的示例
id< TYPE>
我希望有人可以帮我解决我的问题。先谢谢你们。
答案 0 :(得分:3)
这意味着它是符合指定协议的通用对象指针。
因此:
@protocol SomeProtocol <NSObject>
- (void)someMethod:(int)a;
@end
@interface SomeClass : NSObject <SomeProtocol>
@end
允许:
SomeClass *obj = [SomeClass new];
// call method via the protocol interface
id<SomeProtocol> iface = obj;
[iface someMethod:1];
答案 1 :(得分:3)
它表示一个类采用协议(在&#39;&lt;&gt;&#39;中指定)
顺便说一句,它是一种语言功能而不是操作系统功能。您应将问题标记为objective-c
而不是iOS
答案 2 :(得分:2)
它是类定义(@interface
)的一部分或定义变量的类型。它是一种告诉编译器类/类实现协议的方法。该类实现的协议名称位于以逗号分隔的三角括号内。
在你的情况下:
id <protocolName> object;
表示您声明了一个名为object
的{{1}}变量,该变量实现了协议id
。
协议是方法的集合。因此,它允许您将protocolName
定义的消息发送到protocolName
,而无需编译器发出警告。
Apple docs here。