2013-05-15 32 views
0

說我已經使用NSMutableArray存儲了一些數據數組。存儲的陣列包含時間戳和實時數據對目標C中的數據排序數組

我每次都從傳感器設備接收大小爲6的數組。第一個位置總是有時間標記數據,剩餘位置由實時數據佔據。所以,我已經順序地將它們存儲在NSMutableArray中 enter image description here

在這裏,我用不同的順序接收帶時間戳的數據。所以,我需要按時間戳順序排列時間戳,這些數據是與時間戳綁定的數據(大小爲5的數組)。這樣我就可以繪製與每個時間戳關聯的圖形。

所以我的問題是如何排序時間戳,而不會干擾與每個TimeStamp值相關的數據。

回答

2

您可以使用-sortedArrayUsingFunction:context:

例如,

NSArray * sortedArray = [otherArray sortedArrayUsingFunction: DataComparatorF context:nil]; 

NSInteger DataComparatorF (id a, id b, void *context) 
{ 
    // return NSOrderedSame, NSOrderedAcending or NSOrderedDecending of a with respect to b 
} 
0

我建議一個不同的格式,用於存儲用戶數據 - 我會用詞典的陣列與2個鍵,一個用於時間戳,和一個用於數據(其值將是5的陣列值)。然後你可以用sortedArrayUsingDescriptors對數組進行排序:使用sortDescriptorWithKey:ascending:作爲描述符(並傳遞你用於時間戳的任何鍵名)。你不會說你的時間戳記是什麼形式。如果它是一個字符串,你可能必須首先將它轉換爲一個NSDate對象才能正確排序。