Objective c 在我的代码中需要帮助-我使用NSArray获取不正确的数据
我有一个for循环,它在NSArray上迭代以提取数据,但我的数据正在自我复制 我最初的NSArray“timeProfiles”包含24个NSArray,每个NSArray包含16个对象。对于timeProfiles中的每个数组,我尝试将该数据添加到“timescale对象” 我尝试将每个timescaleInfo对象添加到数组中,但仍然会得到耗尽的值 我也尝试过增加timeProfiles的第一个索引,比如这个timeProfiles[z+1]等等,但是到目前为止没有任何效果 如果能朝着正确的方向努力,我们将不胜感激 代码: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(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;