部分我有一個核心數據實體,稱爲事件和兩個相關的屬性被稱爲的startDateTime和COUNTRYCODE。我的問題是我的表格視圖中的部分需要按日期和國家代碼進行分組。我已經看到很多關於如何實現按日分組的例子(例如Apple的DateSectionTitles),但是當我添加國家代碼時,它變得更加複雜。分組表視圖白天和國家
我用一個短暫的sectionIdentifier作爲DateSectionTitles例如推薦和部分看起來是這樣的: 「20110928 SE」, 「20110929 SE」, 「20110928 GB」 等
我第一次嘗試這樣的:
NSSortDescriptor *sortDescriptor1 = [[NSSortDescriptor alloc] initWithKey:@"startDateTime" ascending:NO];
NSSortDescriptor *sortDescriptor2 = [[NSSortDescriptor alloc] initWithKey:@"countryCode" ascending:NO];
sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor1, nil];
[sortDescriptor1 release];
[sortDescriptor2 release];
但是這不起作用,因爲startDateTime有一個導致索引不匹配的時間組件。我需要的是排序startDateTime沒有時間組件。
顯而易見的解決方案是將日期和時間分隔成兩個不同的實體屬性。但是當我考慮到這一點時,由於日期與時區有關,所以不起作用。當電話更改時區時,日期和時間屬性將失效。
我也嘗試子類化一個NSSortDescriptor並創建一個自定義的compareObject函數,但它似乎永遠不會被調用,我找不到任何工作示例。
你會如何解決這個問題?分類的NSSortDescriptor是要走的路,還是可能有更聰明的方法?
他不知道我可以使用這樣的點。我現在就試試看。 – Heinemeister
哇,它的作品!非常感謝TechZen!當我的聲望允許的時候,它會升級。 – Heinemeister