我有一个名为NSProxy
的{{1}}子类和一个名为EBManagedObject
的{{1}}子类。使用guid初始化NSObject
,该guid用于从EBObject
检索EBManagedObject
。除了一些受限制的消息之外,EBObject
会将发送给它的任何消息转发到EBObjectRepository
,在这种情况下,它会抛出异常。因此,无论您在何处使用EBManagedObject
,都可以使用EBObject
。我的问题是Xcode不理解这一点,并在尝试执行以下操作时给出了一个不兼容的指针类型警告:
EBObject
这很简单:
EBManagedObject
但我想知道是否有办法让Xcode考虑EBObject *object = [[EBManagedObject alloc] initWithGuid:guid];
和EBObject *object = (EBObject *)[[EBManagedObject alloc] initWithGuid:guid];
兼容的指针类型?
我知道我可以创建一个协议,它们都实现并执行类似的操作:
EBObject
但我有充分的理由不这样做。
顺便说一句,所有的班级名字都是由。我的实际情况更复杂,所以我做了一个简化的例子来解释我的问题。