swift - NSSortDescriptor 崩溃 - Swift

标签 swift core-data crash

有人可以协助解决这个 Core Data 排序崩溃吗?

这是我的代码的副本。

private func populateTableView() {
    let appDel: AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
    let context: NSManagedObjectContext = appDel.managedObjectContext!
    let freq = NSFetchRequest(entityName: "List")

    let sortDescriptor = NSSortDescriptor(key: "date", ascending: true)
    let sortDescriptors = [sortDescriptor]
    freq.sortDescriptors = [sortDescriptors]

    if selectedGroup > 0 {
        let predicate:NSPredicate = NSPredicate(format: "group == \(selectedGroup)")
        freq.predicate = predicate
    }

    myList = context.executeFetchRequest(freq, error: nil)!
    tableView.reloadData()
}

没有这些行它工作得很好,只是未排序:

let sortDescriptor = NSSortDescriptor(key: "date", ascending: true)
let sortDescriptors = [sortDescriptor]
freq.sortDescriptors = [sortDescriptors]

但是,当我添加排序时,出现以下错误:

2014-10-10 19:34:13.669 Test2[2079:960565] -[_TtCSs23_ContiguousArrayStorage000000013EE1A1C0 key]: unrecognized selector sent to instance 0x170240f90 2014-10-10 19:34:13.670 Test2[2079:960565] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[_TtCSs23_ContiguousArrayStorage000000013EE1A1C0 key]: unrecognized selector sent to instance 0x170240f90' * First throw call stack: (0x187d5e084 0x1983440e4 0x187d65094 0x187d61e48 0x187c6708c 0x187a35c04 0x187a1b4e0 0x187b054f8 0x187a18254 0x187a17e60 0x187a1756c 0x187a16fe4 0x187adddc0 0x187ae5654 0x100550ee0 0x10055a95c 0x187ad8cb4 0x187a16c34 0x187a15744 0x100089fb8 0x1000897ac 0x1000897f4 0x18c4f7c20 0x18c5af508 0x18c4f7c20 0x18c562f94 0x18c562efc 0x18c4d49e8 0x187d16388 0x187d13314 0x187d136f4 0x187c41664 0x190d835a4 0x18c5464f8 0x10009a218 0x10009a258 0x1989b2a08) libc++abi.dylib: terminating with uncaught exception of type NSException (lldb)

这是我的模型:

import UIKit
import CoreData

@objc(Model)
class Model: NSManagedObject {
    // properties feeding the attributes in our entity
    // must match the entity attributes
    @NSManaged var item: String
    @NSManaged var group: String
    @NSManaged var info: String
    @NSManaged var date: NSDate
    @NSManaged var image: NSData
}

谢谢。

最佳答案

已修复。

原来只需要以下内容:

var sortDescriptor = NSSortDescriptor(key: "date", ascending: true)
freq.sortDescriptors = [sortDescriptor]

关于swift - NSSortDescriptor 崩溃 - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26303261/

相关文章:

ios - 使用Codable解析嵌套JSON数据问题

ios - 快速单击按钮时更改 tableView 文本标签

macos - 不调用委托(delegate)函数 - NSURLConnection

ios - 魔法记录,无法保存对象 : contextDidSave == NO, error = nil

iOS 7 应用程序崩溃 EXC_CRASH (SIGABRT) objc_exception_throw 在 iOS 6 上工作正常

xcode - NSSLider 设置起始值

swift - 如何从CoreData获取值

ios - 核心数据 : error: (14) I/O error for database

iOS - 在应用程序崩溃前截取屏幕截图

debugging - UWP 无法调试 .NET 编译代码(发布版)