1

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

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

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)]
4

2 回答 2

1

为此使用一个for或一个while循环。您可以将数据保存在 plist 或文本文件中,并使用 for 循环枚举文本文件中的行。

编辑:

也许这个链接可以帮助你处理 plist。

于 2013-08-01T07:49:40.647 回答
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];

         }
于 2013-08-01T07:52:25.563 回答