Это мой пример кода здесь я вычисленное время перерыва в течение двух entries.if я добавить еще записи означает, что он перекрывая предыдущий раз перерыв ..Я не знаю, где я делаю неправильноNSMutableDictionary отменяет первое значение
This is my first sample i got this for 2 entries
This is my second sample i got this for 3 entries
Вот мой пример кода
NSMutableArray *arrData = [[data objectForKey:@"data"]mutableCopy];
NSLog(@"%@",arrData);
NSLog display this data before adding 3entry ..
{
date = "2016-01-20";
"end_time" = "11:10:00";
"function_code" = RCV;
"operator_id" = JOHN;
"start_time" = "11:00:00";
"total_time" = 10;
"total_units" = 19;
},
{
date = "2016-01-20";
"end_time" = "12:25:00";
"function_code" = PIK;
"operator_id" = JOHN;
"start_time" = "12:15:00";
"total_time" = 10;
"total_units" = 26;
})
NSMutableDictionary *thirdEntry = [NSMutableDictionary dictionary];
[thirdEntry setObject:@"02:00:00" forKey:@"end_time"];
[thirdEntry setObject:@"PUL" forKey:@"function_code"];
[thirdEntry setObject:@"01:25:00" forKey:@"start_time"];
[thirdEntry setObject:@"45" forKey:@"total_units"];
[thirdEntry setObject:@"20" forKey:@"total_time"];
[arrData addObject:thirdEntry];
NSLog(@"%@",arrData);
//dictionary
NSMutableDictionary *dictData =[NSMutableDictionary dictionary];
NSMutableDictionary *dictData1=[NSMutableDictionary dictionary];
NSMutableArray *arrayProgressDate =[NSMutableArray array];
//storing the breaktime values
NSMutableDictionary *dictValues =[NSMutableDictionary dictionary];
for (int i =0; i<arrData.count; i++) {
dictData =arrData[i];
[arrayProgressDate addObject:dictData];
NSString *strendTime1 =[dictData objectForKey:@"end_time"];
NSLog(@"%@",strendTime1);
[dictValues setObject:strendTime1 forKey:@"end_time_value"];
if ((i + 1) < arrData.count) {
dictData1=arrData[i+1];
NSString *strStartTimeNext = [dictData1 objectForKey:@"start_time"];
NSLog(@"%@",strStartTimeNext
);
//[arrayProgressDate addObject:strStartTimeNext];
[dictValues setObject:strStartTimeNext forKey:@"start_time_value"];
//calculating break time
NSDate *endTimeDate = [[DateHelper sharedHelper ] dateFromString:strendTime1 withFormat:@"HH:mm:ss"];
NSDate *startTimeDate = [[DateHelper sharedHelper]dateFromString:strStartTimeNext withFormat:@"HH:mm:ss"];
NSTimeInterval timeElapsedInSeconds = [endTimeDate timeIntervalSinceDate:startTimeDate];
double hours = timeElapsedInSeconds/3600.0;
NSLog(@"%f",hours);
int breakTimeInMinutes = timeElapsedInSeconds/60;
breakTimeInMinutes =ABS(breakTimeInMinutes);
NSString *newStr =[NSString stringWithFormat:@"%i",breakTimeInMinutes];
NSLog(@"%@",newStr);
[dictValues setObject:newStr forKey:@"break_time"];
[arrayProgressDate addObject:dictValues];
}
NSLog(@"%@",dictData);
}
NSLog(@"%@",arrayProgressDate);
Пожалуйста, скажи мне, что я делаю неправильно в этом, я хочу рассчитать время разрыва.
эй, я думаю, словарь, который вы добавили, который не является nsmutabledictionary, так что это не может быть изменено. вам нужно сделать им изменяемый словарь –
@Sachin Patil, все словари, которые я использовал здесь, это только NSMutabledictionary. –
Пожалуйста, скажите, что я делаю неправильно в этом случае, если у меня есть 2 записи, это правильный ответ, если наличие трех записей означает неправильное значение. пожалуйста, помогите мне сделать это –