我正在做一些实验,结果是这样的:
MyClass<aProtocol> *anInstance;
出于各种原因,稍后在代码中:
anInstance = [[MyFilterClass alloc] init];
编译器所做的只是发出警告。
Incompatible pointer types assigning to 'MyClass<aProtocol> *' from 'MyFilterClass *'
这会以我尚无法确定的任何方式影响程序吗?
现在可以正常工作,因为MyFilterClass就是为此而设计的。
MyClass
和MyFilterClass
是不同的类,这是编译器抱怨的。
如果它们都符合,aProtocol
则将变量声明为:
id<aProtocol> *anInstance;
然后这两种分配都是可能的:
anInstance = [[MyClass alloc] init];
anInstance = [[MyFilterClass alloc] init];
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句