在我的应用程序中,我有一个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?
您可以使用以下代码对包含NSDate的NSArray进行排序:
// 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])
排序完成后,您可以重新加载表视图