我又陷入另一個問題,但經過很長時間。使用NSSortDescriptor排序編號
這次我有數據庫(核心數據),有一個屬性numbers
其中包含像213879,123,4,345,56567等整數。
我需要按照類似於alphabetically
的順序以升序編號順序獲取數據。
我在下面給出的方式這樣做,
fetchRequest.sortDescriptors=[NSArray arrayWithObject:
[NSSortDescriptor sortDescriptorWithKey:@"numbers"
ascending:YES
selector:@selector(compare:)]];
,但不幸的是它僅僅比較每個數字的第1位,意味着如果有2個號碼,如123
和321
,它將比較1 (first digit of first number)
與3 (first digit of second number)
和整理它們。
當到達時,它會混淆123
和111
(所有數字的第一個數字相同)。
如果我做錯了什麼或者SortDescriptor以這種方式工作? 我需要解決方案來按照升序123,133,213,451,516
同樣對數字進行排序。
一點要記住 在實際屬性numbers
將包含具有整數位數多於6 e.g 1234567,234568,235481
感謝所有誰幫助了我很多期待。
第一反應是,你是比較字符串,但現在你說這是NSNumber的,我建議你重新檢查由[obj className]它是說NSNumber或NSString –
請告訴你數據模型。如果這是一個數字屬性,它不會像這樣工作。你的問題有一些缺失。 – jrturton