id <诉讼>是什么意思?</诉讼>

时间:2011-08-09 06:45:46

标签: iphone objective-c

我知道“id”类型,但id<Litigating>是什么意思?

@protocol Litigating
-(int) sue:( id<Litigating> ) someone;
@end

3 个答案:

答案 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