在 Objective-C 中将对象添加到 NSArray
addObject to NSArray in Objective-C
如何使用这段代码将对象添加到 NSArray?我在尝试这样做时收到此错误消息。
NSArray *shoppingList = @[@"Eggs", @"Milk"];
NSString *flour = @"Flour";
[shoppingList addObject:flour];
shoppingList += @["Baking Powder"]
错误信息
/Users/xxxxx/Documents/iOS/xxxxx/main.m:54:23: No visible @interface for 'NSArray' declares the selector 'addObject:'
您不能将对象添加到 NSArray。请改用 NSMutableArray :)
无法更改您的数组,因为使用此
定义为 NSArray
which is inmutable (you can't add or remove elements) Convert it to a NSMutableArray
NSMutableArray *mutableShoppingList = [NSMutableArray arrayWithArray:shoppingList];
那你可以
[mutableShoppingList addObject:flour];
addObject
适用于 NSMutableArray
,不适用于 NSArray
,后者是不可变的。
如果您可以控制您创建的数组,请 shoppingList
NSMutableArray
:
NSMutableArray *shoppingList = [@[@"Eggs", @"Milk"] mutableCopy];
[shoppingList addObject:flour]; // Works with NSMutableArray
否则,使用效率较低
shoppingList = [shoppingList arrayByAddingObject:flour]; // Makes a copy
NSArray
没有 addObject:
方法,为此你必须使用
NSMutableArray
。 NSMutableArray
用于创建动态数组。
NSArray *shoppingList = @[@"Eggs", @"Milk"];
NSString *flour = @"Flour";
NSMutableArray *mutableShoppingList = [NSMutableArray arrayWithArray: shoppingList];
[mutableShoppingList addObject:flour];
或者
NSMutableArray *shoppingList = [NSMutableArray arrayWithObjects:@"Eggs", @"Milk",nil];
NSString *flour = @"Flour";
[shoppingList addObject:flour];
如何使用这段代码将对象添加到 NSArray?我在尝试这样做时收到此错误消息。
NSArray *shoppingList = @[@"Eggs", @"Milk"];
NSString *flour = @"Flour";
[shoppingList addObject:flour];
shoppingList += @["Baking Powder"]
错误信息
/Users/xxxxx/Documents/iOS/xxxxx/main.m:54:23: No visible @interface for 'NSArray' declares the selector 'addObject:'
您不能将对象添加到 NSArray。请改用 NSMutableArray :)
无法更改您的数组,因为使用此
定义为NSArray
which is inmutable (you can't add or remove elements) Convert it to a NSMutableArray
NSMutableArray *mutableShoppingList = [NSMutableArray arrayWithArray:shoppingList];
那你可以
[mutableShoppingList addObject:flour];
addObject
适用于 NSMutableArray
,不适用于 NSArray
,后者是不可变的。
如果您可以控制您创建的数组,请 shoppingList
NSMutableArray
:
NSMutableArray *shoppingList = [@[@"Eggs", @"Milk"] mutableCopy];
[shoppingList addObject:flour]; // Works with NSMutableArray
否则,使用效率较低
shoppingList = [shoppingList arrayByAddingObject:flour]; // Makes a copy
NSArray
没有 addObject:
方法,为此你必须使用
NSMutableArray
。 NSMutableArray
用于创建动态数组。
NSArray *shoppingList = @[@"Eggs", @"Milk"];
NSString *flour = @"Flour";
NSMutableArray *mutableShoppingList = [NSMutableArray arrayWithArray: shoppingList];
[mutableShoppingList addObject:flour];
或者
NSMutableArray *shoppingList = [NSMutableArray arrayWithObjects:@"Eggs", @"Milk",nil];
NSString *flour = @"Flour";
[shoppingList addObject:flour];