Objective c 在我的代码中需要帮助-我使用NSArray获取不正确的数据

Objective c 在我的代码中需要帮助-我使用NSArray获取不正确的数据,objective-c,for-loop,nsarray,Objective C,For Loop,Nsarray,我有一个for循环,它在NSArray上迭代以提取数据,但我的数据正在自我复制 我最初的NSArray“timeProfiles”包含24个NSArray,每个NSArray包含16个对象。对于timeProfiles中的每个数组,我尝试将该数据添加到“timescale对象” 我尝试将每个timescaleInfo对象添加到数组中,但仍然会得到耗尽的值 我也尝试过增加timeProfiles的第一个索引,比如这个timeProfiles[z+1]等等,但是到目前为止没有任何效果 如果能朝着正确

我有一个for循环,它在NSArray上迭代以提取数据,但我的数据正在自我复制

我最初的NSArray“timeProfiles”包含24个NSArray,每个NSArray包含16个对象。对于timeProfiles中的每个数组,我尝试将该数据添加到“timescale对象”

我尝试将每个timescaleInfo对象添加到数组中,但仍然会得到耗尽的值

我也尝试过增加timeProfiles的第一个索引,比如这个timeProfiles[z+1]等等,但是到目前为止没有任何效果

如果能朝着正确的方向努力,我们将不胜感激

代码:

for(int z=0;z
此处-
用于(intz=0;z

这就是你想要的吗?。我想应该是
z=z+1

如果我遗漏了什么,请更正。

此处-
for(intz=0;z

这就是你想要的吗?。我想应该是
z=z+1


如果我遗漏了什么,请纠正我。

花了一段时间才弄清楚,但下面是有效的解决方案

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

    for (int z = 0; z < timeProfiles.count; z+=12) { //increments every 12 arrays then extracts data.

        NSMutableArray *timeScaleInfoArray = [[NSMutableArray alloc] init];
        NSArray *tP;
        for (int i = 0; i < 12; i++) {//Time slices (12)

            //00000SSH

            tP = [timeProfiles objectAtIndex:z + i];
            NSString *weekDayFlag = [NSString stringWithFormat:@"%@%@%@%@%@%@%@%@",@"0",tP[10],tP[9],tP[8],tP[7],tP[6],tP[5],tP[11]];
            NSString *calendarFlag = [NSString stringWithFormat:@"%@%@%@%@%@%@%@%@",@"0",@"0",@"0",@"0",@"0",tP[12], tP[13],tP[14]];

            TimeScaleInfo *timeScaleInfo = [[TimeScaleInfo alloc] initWithTimeScaleID:[[tP objectAtIndex:2] integerValue] timeSliceID:[[tP objectAtIndex:15] integerValue] timeScaleStartTime:tP[3] timeScaleEndTime:tP[4] weekdayFlag:weekDayFlag clendarFlag:calendarFlag];

            [timeScaleInfoArray addObject:timeScaleInfo];
        }

        TimeSliceInfo *timesliceInfo = [[TimeSliceInfo alloc] initWithTimeSliceID:[[tP objectAtIndex:15] integerValue] timeScaleInfoArray:timeScaleInfoArray];

        [timeSliceArray addObject:timesliceInfo];
    }

    userKeyInfo.timeSliceInfoArray = timeSliceArray;
NSMutableArray*timeSliceArray=[[NSMutableArray alloc]init];
对于(intz=0;z NSMutableArray *timeSliceArray =[[NSMutableArray alloc] init];

    for (int z = 0; z < timeProfiles.count; z+=12) { //increments every 12 arrays then extracts data.

        NSMutableArray *timeScaleInfoArray = [[NSMutableArray alloc] init];
        NSArray *tP;
        for (int i = 0; i < 12; i++) {//Time slices (12)

            //00000SSH

            tP = [timeProfiles objectAtIndex:z + i];
            NSString *weekDayFlag = [NSString stringWithFormat:@"%@%@%@%@%@%@%@%@",@"0",tP[10],tP[9],tP[8],tP[7],tP[6],tP[5],tP[11]];
            NSString *calendarFlag = [NSString stringWithFormat:@"%@%@%@%@%@%@%@%@",@"0",@"0",@"0",@"0",@"0",tP[12], tP[13],tP[14]];

            TimeScaleInfo *timeScaleInfo = [[TimeScaleInfo alloc] initWithTimeScaleID:[[tP objectAtIndex:2] integerValue] timeSliceID:[[tP objectAtIndex:15] integerValue] timeScaleStartTime:tP[3] timeScaleEndTime:tP[4] weekdayFlag:weekDayFlag clendarFlag:calendarFlag];

            [timeScaleInfoArray addObject:timeScaleInfo];
        }

        TimeSliceInfo *timesliceInfo = [[TimeSliceInfo alloc] initWithTimeSliceID:[[tP objectAtIndex:15] integerValue] timeScaleInfoArray:timeScaleInfoArray];

        [timeSliceArray addObject:timesliceInfo];
    }

    userKeyInfo.timeSliceInfoArray = timeSliceArray;