我知道“id”类型,但id<Litigating>
是什么意思?
@protocol Litigating
-(int) sue:( id<Litigating> ) someone;
@end
答案 0 :(得分:4)
id<SomeProtocol>
表示此对象实现SomeProtocol
。它必须实现属于SomeProtocol
的所有必需方法。
答案 1 :(得分:4)
将Objective-C协议视为Java,C#等。速度接口。
这是任何类的变量,符合协议Litigation
(这就像传统的OOP没有跳跃一样):
id<Litigation> someone;
这是类Company
(和子类)的变量,它也符合Litigation
:
Company<Litigation>* someone;
这是类Company
的变量,也符合Litigation
和 NSCopying **:
Company<Litigation, NSCopying>* someone;
答案 2 :(得分:2)
这意味着该参数不仅属于id
类型,而且符合Litigating
(形式)协议,参见The Objective-C Programming Language