2013-07-23 21 views
1

我正在爲我的實體構建一個NSFetchedResultsController,它有兩個屬性,比如說一個shortName和一個longName。所有被管理的對象只有shortName或longName。NSSortDescriptor與兩個同樣重要的鍵

如何在同一時間基於兩個屬性(或者更確切地說是非空值)排序對象?

載明下列不會在我的情況下工作:

NSSortDescriptor *sortDescriptor1 = [[NSSortDescriptor alloc] initWithKey:@"shortName" ascending:YES]; 
NSSortDescriptor *sortDescriptor2 = [[NSSortDescriptor alloc] initWithKey:@"longName" ascending:YES]; 
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor1, sortDescriptor2, nil]; 

回答

0

這是相當有趣的,但是我幾乎可以肯定,這是不可能的事情。只要將longName分配給longName屬性,如果沒有longName,那麼插入到你的數據庫中對我來說是最好的解決方案,只需對longName進行排序即可。

+0

謝謝,這可能是一個選擇,但我相信應該有一個更優雅的解決方案 – Gytis

+0

也許你可以嘗試子類NSFetchedResultsController,這將是優雅的,但林也很好奇,如果有一個簡單的解決方案 – ambientlight

相關問題