如何以最佳方式优化嵌套的NSMutableArray代码?

时间:2015-11-05 10:53:23

标签: ios nsmutablearray ios9

我是IOS开发的新手,我想以最好的方式写下以下场景:

- (void)configureDataSource   {
    NSMutableArray *meterUnitArray = [[NSMutableArray alloc] init];
    NSMutableArray *meterSubUnitArray = [[NSMutableArray alloc] init];
    NSMutableArray *footUnitArray = [[NSMutableArray alloc] init];
    NSMutableArray *footSubUnitArray = [[NSMutableArray alloc] init];
    self.footArray = [[NSMutableArray alloc] init];
    self.meterArray = [[NSMutableArray alloc] init];


    for(int i = 0; i <= 99; i++)
    {
        NSString *str = [NSString stringWithFormat:@"%d Meter", i];
        NSString *str1 = [NSString stringWithFormat:@"%d cm", i];
        [meterUnitArray addObject:str];
        [meterSubUnitArray addObject:str1];


        NSString *str2 = [NSString stringWithFormat:@"%d Foot", i];
        NSString *str3 = [NSString stringWithFormat:@"%d Inches", i];
        [footUnitArray addObject:str2];
        [footSubUnitArray addObject:str3];
    }

    [self.meterArray addObject:meterUnitArray];
    [self.meterArray addObject:meterSubUnitArray];

    [self.footArray addObject:footUnitArray];
    [self.footArray addObject:footSubUnitArray];
}

如何改进此代码?

1 个答案:

答案 0 :(得分:1)

@interface YourClass ()

@property (strong, nonatomic) NSArray *footArray;
@property (strong, nonatomic) NSArray *meterArray;

@end

@implementation YourClass

- (void)configureDataSource {
  self.meterArray = @[[@[] mutableCopy], [@[] mutableCopy]];
  self.footArray = @[[@[] mutableCopy], [@[] mutableCopy]];

  for(int i = 0; i <= 99; i++) {
    [self.meterArray[0] addObject:[NSString stringWithFormat:@"%d Meter", i]];
    [self.meterArray[1] addObject:[NSString stringWithFormat:@"%d cm", i]];

    [self.footArray[0] addObject:[NSString stringWithFormat:@"%d Foot", i]];
    [self.footArray[1] addObject:[NSString stringWithFormat:@"%d Inches", i]];
  }
}