У меня этот код в приложении секундомера, но у меня проблема с циклом, все значения в моем массиве одинаковы. Я хочу поочередно наблюдать за массивами. Наблюдайте, добавляйте в массив и делайте новое наблюдение и продолжайте движение до размера выборки t. Как я должен использовать цикл, очень полезно.Использование циклов в iOS
- (IBAction)onLapPressed:(id)sender {
timeData = [[NSMutableArray alloc] init];
for (NSInteger k = 0; k < t; ++k)
{
[timeData addObject:[NSNull null]];
}
NSDate *currentDate = [NSDate date];
NSTimeInterval timeInterval = [currentDate timeIntervalSinceDate:startDate];
NSDate *timerDate = [NSDate dateWithTimeIntervalSince1970:timeInterval];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"ss.S"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0.0]];
NSString *timeString=[dateFormatter stringFromDate:timerDate];
CGFloat timeStringFloat = (CGFloat) [timeString floatValue];
[timeData replaceObjectAtIndex:i withObject:timeString];
lap1.text = [timeData objectAtIndex:i];
NSString *iyaz = [NSString stringWithFormat: @"%d",i+1];
NSString *tyaz = [NSString stringWithFormat: @"%d",t];
NSString *baseString = [NSString stringWithFormat: @"%@/%@",iyaz,tyaz];
lap2.text = baseString;
totaltime = totaltime + timeStringFloat;
x2 = x2 + powf(timeStringFloat, 2);
n = round((40* sqrtf(t*x2 - powf(totaltime, 2))/totaltime));
avgtime = totaltime/(i+1);
NSString *strtotaltime = [NSString stringWithFormat:@"%f", avgtime];
NSString *toobserve = [NSString stringWithFormat:@"%d", n];
avglap.text = strtotaltime;
obsno.text = toobserve;
startDate = [[NSDate date]retain];
i=i+1;
}
повторно пост http://stackoverflow.com/questions/15076294/mutable-array-values-are-exactly-same – vikingosegundo
где же 'T' пришел? – holex