【问题标题】:Reorder dynamic UITableView by NSDate通过 NSDate 重新排序动态 UITableView
【发布时间】:2023-03-31 08:23:02
【问题描述】:

在我的应用程序中,我有一个 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?

【问题讨论】:

    标签: ios swift uitableview nsdate


    【解决方案1】:

    您可以使用以下代码对包含 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])
    

    排序完成后,你可以重新加载你的tableview

    【讨论】:

    • 没有 NSArray,-CoreDataItems 是一个 NSManagedObject。我也需要一个快速的解决方案:)
    • 以及您在代码部分中对我的 CoreDataItems 值进行排序的位置。使用此代码,我必须从核心数据中请求新数据,不是吗?
    • 可以从coredata中以数组的形式获取nsmanagedobjects。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-08
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    • 1970-01-01
    • 2015-01-27
    • 1970-01-01
    相关资源
    最近更新 更多