假設在某些類接口中,我聲明一個屬性爲「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