我有兩個類 - BNRItem和BNRContainer。 BNRContainer是BNRItem的一個子類。爲了減少代碼我貼的數量,假設以下是我已經測試並知道作品:爲什麼我在嘗試將對象添加到NSMutableArray時遇到SIGABRT
+(BNRItem *) randomItem; // allocate and init a random item.
@property(nonatomic, readwrite, copy) NSMutableArray * subitems; // This is a property of BNRContainer class
main.m:
NSMutableArray * rand_items = [NSMutableArray alloc] init];
for (int i = 0; i < 10; i++) {
[rand_items addObject: [BNRItem randomItem]];
}
[rand_items addObject: @"HELLO"];
BNRContainer * rand_container_of_items = [BNRContainer randomItem];
rand_container_of_items.subitems = rand_items;
[rand_container_of_items.subitems addObject: @"THERE"]; // ERROR SIGABRT
NSLog(@"------------------------------------------------------");
NSLog(@"%@", rand_container_of_items);
rand_container_of_items = nil;
如果我NSLog
無需添加@「有」,我看到「Hello」在我的描述,所以我知道我可以在那個時候致電addObject:
。當我試圖訪問rand_container_of_items的ivar「子項目」時,爲什麼我會得到SIGABRT?我無法弄清楚這一點。
PLZ,沒有更多的snake_case! – Dam