2013-10-14 30 views
-3

我很困惑與排序NsArray在iOS開發中是非常新的,我有一個自定義數組,我想排序我的NsArray,它具有以下值作爲組由callTypenumberId使用兩個值的組排序NsArray

{ 
     callID = 1; 
     callType = 4; 
     dateTime = "2013-10-11 14:42:10 +0000"; 
     durationOfCall = "00:00:27"; 
     numberCalled = 91xxxxxxxxx; 
     numberId = 8; 
    }, 
    { 
     callID = 1; 
     callType = 4; 
     dateTime = "2013-10-11 14:24:19 +0000"; 
     durationOfCall = "00:00:15"; 
     numberCalled = 91xxxxxxxxx; 
     numberId = 9; 
    }, 
    { 
     callID = 1; 
     callType = 4; 
     dateTime = "2013-10-11 13:59:18 +0000"; 
     durationOfCall = "00:00:11"; 
     numberCalled = 91xxxxxxxxx; 
     numberId = 8; 
    }, 
    { 
     callID = 1; 
     callType = 4; 
     dateTime = "2013-10-11 13:57:55 +0000"; 
     durationOfCall = "00:00:09"; 
     numberCalled = 91xxxxxxxxx; 
     numberId = 8; 
    }, 
    { 
     callID = 1; 
     callType = 4; 
     dateTime = "2013-10-11 13:56:02 +0000"; 
     durationOfCall = "00:00:12"; 
     numberCalled = 91xxxxxxxxx; 
     numberId = 8; 
    }, 
    { 
     callID = 1; 
     callType = 4; 
     dateTime = "2013-10-11 13:55:41 +0000"; 
     durationOfCall = "00:00:00"; 
     numberCalled = 91xxxxxxxxx; 
     numberId = 8; 
    } 

) 

,結果應該像在那裏我得到計數​​各組

{ 
     count = 4 // number of 
     callID = 1; 
     callType = 4; 
     dateTime = "2013-10-11 14:42:10 +0000"; 
     durationOfCall = "00:00:27"; 
     numberCalled = 91xxxxxxxxx; 
     numberId = 8; 
    }, 
    { 
     count = 1 // number of 
     callID = 1; 
     callType = 4; 
     dateTime = "2013-10-11 14:24:19 +0000"; 
     durationOfCall = "00:00:27"; 
     numberCalled = 91xxxxxxxxx; 
     numberId = 9; 
    } 
} 

在這裏,在我上面

自定義類
+0

@ O'cool請問題的明確是這個數組的自定義對象的?如果是這樣,請指定.. 哪些屬性,你需要爲排序組合 – Raon

+0

@Raon是它是一個自定義對象的數組 – Rohit

+0

@ O'cool你確定你不是指NSDictionary對象? –

回答

2

它會工作......

NSArray *sortedArray; 
sortedArray = [array sortedArrayUsingComparator:^NSComparisonResult(id a, id b) 
{ 
    NSNumber *firstCallType = [(RecentCallsModel*)a CallType]; 
    NSNumber *secondCallType = [(RecentCallsModel*)b CallType]; 
    NSNumber *firstNumberID = [(RecentCallsModel*)a NumberID]; 
    NSNumber *second NumberID = [(RecentCallsModel*)b NumberID]; 
    if([firstCallType compare:secondCallType]==NSOrderedSame) 
       { 
       if([firstNumberID compare:secondNumberID]==NSOrderedSame) 
         { 
         //count logic 
         } 
       else 
        return [firstNumberID compare:secondNumberID]; 
       } 
    else 
       return [firstCallType compare:secondCallType]; 
}]; 
+0

K,虐待嘗試和恢復 – Rohit