具有索引的多个值集名称

时间:2014-02-21 02:00:37

标签: ios nsmutablearray

我是iOS新手和初学者。

我对编程有一些疑问。

问题

我有5个NSMutableArray,我想将所有NSMutableArray添加到1个NSMutableArray

遵守本准则。

在.h文件中

    @property (strong, nonatomic) NSMutableArray *orderType1;
    @property (strong, nonatomic) NSMutableArray *orderType2;
    @property (strong, nonatomic) NSMutableArray *orderType3;
    @property (strong, nonatomic) NSMutableArray *orderType4;
    @property (strong, nonatomic) NSMutableArray *orderType5;
    @property (strong, nonatomic) NSMutableArray *allData;

在.m文件中

    for(int i = 0; i < orderCount; i++)    // orderCount is count of orderType(count = 5)
    {
         // Do something about condition to get Data...
         // ... This Condition will Receive "data"

         // Add Object
         if (i == 0)
             [_orderType1 addObject:data];
         else if (i == 1)
             [_orderType2 addObject:data];
         else if (i == 2)
             [_orderType3 addObject:data];
         else if (i == 3)
             [_orderType4 addObject:data];
         else 
             [_orderType5 addObject:data];
    } 

    _allData = [NSArray arrayWithObjects:_orderType1, _orderType2, _orderType3, _orderType4, _orderType5, nil];

此代码的结果正常并且正确。但是我希望将_orderType命名为索引i。

示例:in loop

for(int i = 0; i < orderCount; i++)    // orderCount is count of orderType(count = 5)
{
      // Do something about condition to get Data...
      // ... This Condition will Receive "data"

      // Add Object
      [_orderType[i] addObject:data]       
}

如何解决它或我无法在这种情况下解决它。

谢谢你,对不起我的错误。

1 个答案:

答案 0 :(得分:0)

我认为这就是你想要做的事情:

self.orderType1 = [[NSMutableArray alloc] init];
self.orderType2 = [[NSMutableArray alloc] init];
self.orderType3 = [[NSMutableArray alloc] init];
self.orderType4 = [[NSMutableArray alloc] init];
self.orderType5 = [[NSMutableArray alloc] init];

self.allData = [NSArray arrayWithObjects:self.orderType1, self.orderType2, self.orderType3, self.orderType4, self.orderType5, nil];

for (int i = 0; i < orderCount; i++) {
    [self.allData[i] addObject:data];
}

您可能希望避免使用_orderType1之类的语法,因为它直接访问变量,而不是使用getter或setter。相反,请使用self.orderType1