arrayWithObjects: 回傳不可變 NSArray,若指派給 NSMutableArray 變數再呼叫 addObject:,會因實際物件不支援該方法而崩潰。
NSMutableArray *arr = [[NSMutableArray alloc] init];
arr = [NSArray arrayWithObjects:@"a", @"b", nil]; // 實際為 NSArray
[arr addObject:@"c"]; // 崩潰:unrecognized selector
arr = [NSMutableArray arrayWithObjects:@"a", @"b", nil];arr = [NSMutableArray array]; [arr addObjectsFromArray:@[@"a", @"b"]];NSMutableArray *。unrecognized selector sent to instance 提示實際物件類別缺少方法。po [arr class] 可確認實際類別。