如何在Objective C中初始化一个空的可变数组

时间:2012-04-19 08:56:49

标签: ios arrays cocoa object

我有一个对象(卡车)列表,其中包含填充tableview的各种属性。当您点击它们时,它们会转到单个卡车页面。有一个添加按钮,可以将它们添加到另一个tableview中的收藏夹列表中。如何在Cocoa中初始化一个空的可变数组?

我有以下代码:

-(IBAction)addTruckToFavorites:(id)sender:(FavoritesViewController *)controller
{
    [controller.listOfTrucks addObject: ((Truck_Tracker_AppAppDelegate *)[UIApplication sharedApplication].delegate).selectedTruck];

}

8 个答案:

答案 0 :(得分:26)

<强>更新

使用新语法,您可以使用:

NSMutableArray *myArray = [NSMutableArray new];

原始回答:

例如:

NSMutableArray *myArray = [[NSMutableArray alloc] init];

here你找出原因(类和实例方法之间的区别)

答案 1 :(得分:4)

基本上,有三种选择:

<强>第一

NSMutableArray *myMutableArray = [[NSMutableArray alloc] init];

<强>第二

NSMutableArray *myMutableArray = [NSMutableArray new];

<强>第三

NSMutableArray *myMutableArray = [NSMutableArray array];

答案 2 :(得分:1)

NSMutableArray *arr = [NSMutableArray array];

答案 3 :(得分:1)

你也可以用这种方式初始化

Objective C 的另一种方式,除了@NSSam的答案

NSMutableArray *myMutableArray = [@[] mutableCopy];

对于Swift

let myArray = NSMutableArray()

OR

let myArray = [].mutableCopy() as! NSMutableArray;

答案 4 :(得分:0)

listOfTrucks = [NSMutableArray array];为您提供了一个新的可变数组。

答案 5 :(得分:0)

NSMutableArray *arr = [NSMutableArray new];

答案 6 :(得分:0)

我使用这种方式在目标C中初始化一个空的可变数组:

NSMutableArray * array = [NSMutableArray arrayWithCapacity:0];

答案 7 :(得分:-1)

在现代物镜-C中,它可能会更短:

NSArray *array = @[];