创建数百个对象的最佳实践是什么?

时间:2013-08-01 07:46:27

标签: ios

我想创建一个包含类别的应用。每个类别都应拥有一系列具有属性标题和分数的活动。

我是否必须像这样创建所有这些活动对象?:

Activity activity1* = [[Activity alloc] initWithTitle: @"Bla" andScore: 2];
Activity activity2* = [[Activity alloc] initWithTitle: @"Blub" andScore: 1];
Activity activity3* = [[Activity alloc] initWithTitle: @"Bla" andScore: 4];
...

......或者还有其他选择吗?我想这需要花费很多时间。

以下是更多详情:

类别对象(我需要20个), 属性:标题,活动数组

活动对象(对于每个类别对象,我想创建数百个活动对象), 属性:标题,分数(从1到100)

如果我使用for循环,我必须在之后分配这些活动的分数。

我现在已经创建了简化编码的宏:

// for creating a category
    #define K(string, array) [[Kategorie alloc] initWithTitle:NSLocalizedString((string), nil) andActivityArray: (array)] 
// for creating an activiy
    #define A(string, score) [[Activity alloc] initWithTitle:NSLocalizedString((string), nil) andScore:(score)]

2 个答案:

答案 0 :(得分:1)

为此使用forwhile循环。您可以将数据放在plist或文本文件中,并使用for循环枚举文本文件中的行。

修改

也许这Link可以帮助你使用plist。

答案 1 :(得分:0)

   NSMutableArray* arrayOfActivity=[[NSMutableArray alloc]init];
    for (int i=0; i<100; i++) {
        Activity* activity1 = [[Activity alloc] init];
        [arrayOfActivity addObject:activity1];

    }

    for (Activity* act in arrayOfActivity) {
    // here you can implement all activity object one by one
    }

或者你可以在第一次这样做

NSMutableArray* arrayOfActivity=[[NSMutableArray alloc]init];
         for (int i=0; i<100; i++) {
             Activity* activity = [[Activity alloc] initwithTitle@"Bla" andScore:i];
             [arrayOfActivity addObject:activity1];

         }