@protocol Eating
@end
@interface Eat : NSObject<Eating>
{
}
- (id<Eating> *)me;
@end
@implementation Eat
- (id<Eating> *)me { return self; }
@end
In the above piece of Objective-C code, why does "return self" result in a "Return from incompatible pointer type" warning? What's the incompatible pointer type and how to fix it?