2016-04-19 73 views
0

在我的應用程序中,我有一個UITableView將填充核心日期項目。通過NSDate重新排序動態UITableView

正如你可以在這個帖子看到,我已經問了排序功能: https://stackoverflow.com/a/36703648/6012187

func ReSort() { 
    CoreDataItems.sortInPlace({sortAscending ? $0.RowName < $1.RowName : $0.RowName > $1.RowName}) 
    sortAscending = !sortAscending 
    tableView.reloadData() 
} 

現在的問題是,我怎麼能動態地設置RowName價值?例如, 。我將RowName保存在用戶默認值中。

$0.defaults.objectForKey("xx")不無語法錯誤工作

下一個問題是:

我如何排序與一排,其價值是的NSDate?

回答

0

您可以排序的NSArray其中包含的NSDate通過使用此代碼:

// objective-c code 
NSSortDescriptor *dateDescriptor = [NSSortDescriptor 
          sortDescriptorWithKey:@"startDateTime" 
             ascending:YES]; 
NSArray *sortDescriptors = [NSArray arrayWithObject:dateDescriptor]; 
NSArray *sortedEventArray = [nodeEventArray 
sortedArrayUsingDescriptors:sortDescriptors]; 

//swift code 
let dateDescriptor :NSSortDescriptor = NSSortDescriptor(key: "startDateTime", ascending: true) 
let sortdescriptors: NSArray = [dateDescriptor] 
let sortedeventarray = nodeEventArray.sortedArrayUsingDescriptors([dateDescriptor]) 

排序完成後,你可以重新載入你的tableview

+0

沒有的NSArray, - CoreDataItems是NSManagedObject。我也需要一個迅速的解決方案,請:) – Stack108

+0

和你在哪裏排序我的CoreDataItems值在你的代碼部分。有了這個代碼,我必須從核心數據中請求新的數據,不是嗎? – Stack108

+1

你可以以數組的形式從coredata中獲取nsmanagedobjects。 – user3815344

相關問題