@protocol Eating
@end

@interface Eat : NSObject<Eating>
{
}
- (id<Eating> *)me;
@end

@implementation Eat
- (id<Eating> *)me { return self; }
@end

在上面的Objective-C代码中,为什么“返回自身”会导致“从不兼容的指针类型返回”警告?什么是不兼容的指针类型以及如何解决?

最佳答案

因为id本身就是一个指针,所以您不需要星号。

@interface Eat : NSObject<Eating> {
}
- (id<Eating>)me;
@end

关于iphone - Objective-C Protocol Madness-如何基于协议(protocol)返回对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1386791/

10-09 22:06