通过NSDate重新sortingdynamicUITableView

在我的应用程序中,我有一个UITableView将填充核心date项目。

正如你可以在这篇文章中看到的,我已经要求一个sortingfunction: https : //stackoverflow.com/a/36703648/6012187

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

现在我的问题是,我如何dynamic设置RowName值? 例如。 我保存用户默认的RowName。

$0.defaults.objectForKey("xx")不起作用没有语法错误

下一个问题是:

我如何sorting一行,哪个值是一个NSDate?

您可以使用以下代码对包含NSDate的NSArray进行sorting:

 // 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]) 

sorting完成后,您可以重新加载您的tableview