Objective-C - 指向类的指针是否与指向另一个类的指针不同?

时间:2014-08-02 12:52:39

标签: objective-c

我正在做一些实验,得出类似的结论:

MyClass<aProtocol> *anInstance;

稍后在代码中出于各种原因:

anInstance = [[MyFilterClass alloc] init];

所有编译器都会产生警告。

Incompatible pointer types assigning to 'MyClass<aProtocol> *' from 'MyFilterClass *'

这会以任何我无法弄清楚的方式影响程序吗?

现在可以正常工作,因为MyFilterClass的设计考虑到了这一点。

1 个答案:

答案 0 :(得分:1)

MyClassMyFilterClass是不同的类,这是编译器所抱怨的。

如果它们都符合aProtocol,则将变量声明为:

id<aProtocol> *anInstance;

然后这两项任务都是可能的:

anInstance = [[MyClass alloc] init];
anInstance = [[MyFilterClass alloc] init];