0

이 방법에 대한 자세한 정보는 알고 있지만 몇 가지 이유로 간단한 간단한 열거 형을 작성해야합니다. 간단히 각 "숫자"에 대해 "Shift Length"를 소계하고 싶습니다. 나는 쉽게 변환 할 수 있도록 mm : ss를 초로 변환하도록 생성 한 NSObject를 가지고 있습니다. 걱정하지 않아도됩니다. 사전에NSMutableDictionary의 NSMutableArray에서 소계 값을 계산하는 방법

{ 
Number = 2; 
"Shift Length" = "1:30" 
}, etc. 

감사합니다 ...

- 폴

샘플 데이터

2013-11-24 15:58:32.677 TimeOnIce[79815:70b] _gameSheetMutableArray: (
    { 
    Number = 10; 
    "Shift Length" = " 1:32"; 
    "Time Off Ice" = "08:00"; 
    "Time On Ice" = "09:32"; 
}, 
    { 
    Number = 11; 
    "Shift Length" = " 1:34"; 
    "Time Off Ice" = "07:56"; 
    "Time On Ice" = "09:30"; 
}, 
    { 
    Number = 14; 
    "Shift Length" = " 1:10"; 
    "Time Off Ice" = "06:56"; 
    "Time On Ice" = "08:06"; 
}, 
    { 
    Number = 15; 
    "Shift Length" = " 1:10"; 
    "Time Off Ice" = "06:54"; 
    "Time On Ice" = "08:04"; 
}, 
    { 
    Number = 16; 
    "Shift Length" = " 1:10"; 
    "Time Off Ice" = "06:52"; 
    "Time On Ice" = "08:02"; 
}, 
    { 
    Number = 2; 
    "Shift Length" = " 0:22"; 
    "Time Off Ice" = "09:38"; 
    "Time On Ice" = "10:00"; 
}, 
    { 
    Number = 2; 
    "Shift Length" = " 1:08"; 
    "Time Off Ice" = "06:48"; 
    "Time On Ice" = "07:56"; 
}, 
    { 
    Number = 20; 
    "Shift Length" = " 1:10"; 
    "Time Off Ice" = "06:50"; 
    "Time On Ice" = "08:00"; 
}, 
    { 
    Number = 3; 
    "Shift Length" = " 0:24"; 
    "Time Off Ice" = "09:36"; 
    "Time On Ice" = "10:00"; 
}, 
    { 
    Number = 4; 
    "Shift Length" = " 0:26"; 
    "Time Off Ice" = "09:34"; 
    "Time On Ice" = "10:00"; 
}, 
    { 
    Number = 5; 
    "Shift Length" = " 0:28"; 
    "Time Off Ice" = "09:32"; 
    "Time On Ice" = "10:00"; 
}, 
    { 
    Number = 6; 
    "Shift Length" = " 0:30"; 
    "Time Off Ice" = "09:30"; 
    "Time On Ice" = "10:00"; 
}, 
    { 
    Number = 7; 
    "Shift Length" = " 1:32"; 
    "Time Off Ice" = "08:06"; 
    "Time On Ice" = "09:38"; 
}, 
    { 
    Number = 8; 
    "Shift Length" = " 1:32"; 
    "Time Off Ice" = "08:04"; 
    "Time On Ice" = "09:36"; 
}, 
    { 
    Number = 9; 
    "Shift Length" = " 1:32"; 
    "Time Off Ice" = "08:02"; 
    "Time On Ice" = "09:34"; 
} 

편집

내가했다 : 나는 결과가 NSMutableDictionary의 또 다른있는 NSArray가되고 싶어요 다음과 같이 이것을 해결할 수 있습니다 :

NSArray *playerNumbersArray = [_gameSheetMutableArray valueForKeyPath:@"@distinctUnionOfObjects.Number"]; 

    for (NSString *playerNumber in playerNumbersArray) 
    { 
     NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(Number == %@)", playerNumber]; 
     NSArray *playerNumbersArrayPredicate = [_gameSheetMutableArray filteredArrayUsingPredicate:predicate]; 

     NSNumber *shiftLength = [playerNumbersArrayPredicate valueForKeyPath:@"@sum.Shift Length"]; 
     NSLog(@"Player Number %@: Time on Ice: %@", playerNumber, [_convertSecondsToMMSS convertSecondstoMMSS:[shiftLength intValue]]); 
    } 
+0

어떤 값을 추가하나요? 너 뭐 해봤 니? – uchuugaka

+1

위의 편집으로이 문제를 해결할 수있었습니다. –

답변

0
NSArray *playerNumbersArray = [_gameSheetMutableArray valueForKeyPath:@"@distinctUnionOfObjects.Number"]; 

    for (NSString *playerNumber in playerNumbersArray) 
    { 
     NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(Number == %@)", playerNumber]; 
     NSArray *playerNumbersArrayPredicate = [_gameSheetMutableArray filteredArrayUsingPredicate:predicate]; 

     NSNumber *shiftLength = [playerNumbersArrayPredicate valueForKeyPath:@"@sum.Shift Length"]; 
     NSLog(@"Player Number %@: Time on Ice: %@", playerNumber, [_convertSecondsToMMSS convertSecondstoMMSS:[shiftLength intValue]]); 
}