假设在某些类接口中,我声明一个属性为“copy”属性,该属性是另一个类的实例,其不是实现“-copyWithZone”。例如说不应该编译器警告我该类不响应copyWithZone?
@interface Dog: NSObject
@property (assign) int i;
@end
@interface Pets: NSObject
@property (copy) Dog *myDog;
@end
然后地方我做
Pets *myPets = [[Pets alloc] init];
Dog *uglyDog = [[Dog alloc] init];
myPets.myDog = uglyDog;
什么情况是,在运行时我得到这样一个异常“ - [狗copyWithZone:]:无法识别的选择......”我完全已了解。
但不应该编译器警告我这个吗? (它没有)。
它会,如果你宣布@接口狗:NSObject。 –
gnasher729