i"在Objective-C编程中是什么意思?-6ren"> i"在Objective-C编程中是什么意思?-@protocol I -(void) f; -(void) g; @end @interface C : NSObject { id i; } -(void) toA; -(void) -6ren">
gpt4 book ai didi

ios - "id i"在Objective-C编程中是什么意思?

转载 作者:行者123 更新时间:2023-11-28 23:12:38 24 4
gpt4 key购买 nike

@protocol I <NSObject>
-(void) f;
-(void) g;
@end

@interface C : NSObject <I>
{
id<I> i;
}
-(void) toA;
-(void) toB;
@end

我正在使用这段代码,这里我使用的是协议(protocol)I,我想知道是什么意思 ( id< I > i ) 和它的工作。

最佳答案

声明:

MyClass<MyProtocol> * myVar;

表示 myVar 的类是 MyClass 的后代之一,另外还实现了 MyProtocol 协议(protocol)的方法。阅读有关协议(protocol)的更多信息 here .

在你的代码中

id<I> i;

表示“i”是 id 类型 - 即它可以是任何类的对象(阅读 id here ),但也符合协议(protocol)“I”。

在您的示例类中,您的“i”必须实现

-(void) f;
-(void) g;

方法。

您可以使用如下表达式:

[i f];
[i g];

关于ios - "id<I> i"在Objective-C编程中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7750512/

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