Mic*_*let 8 sorting core-data nsfetchrequest ios swift
我正在使用Swift和Core Data构建一个应用程序.在我的应用程序的某一点上,我想要UITableView显示当前在持久存储中的所有类型的对象.目前,我正在检索它们并使用表格在表格视图中显示它们NSFetchedResultsController.我希望表视图按我的NSManagedObject子类的计算属性排序,如下所示:
class MHClub: NSManagedObject{
@NSManaged var name: String
@NSManaged var shots: NSSet
var averageDistance: Int{
get{
if shots.count > 0{
var total = 0
for shot in shots{
total += (shot as! MHShot).distance.integerValue
}
return total / shots.count
}
else{
return 0
}
}
}
Run Code Online (Sandbox Code Playgroud)
在我的表视图控制器,我建立我NSFetchedResultsController的fetchRequest如下:
let request = NSFetchRequest(entityName: "MHClub")
request.sortDescriptors = [NSSortDescriptor(key: "averageDistance", ascending: true), NSSortDescriptor(key: "name", ascending: true)]
Run Code Online (Sandbox Code Playgroud)
像这样设置会导致我的应用程序崩溃,并在日志中显示以下消息:
'NSInvalidArgumentException', reason: 'keypath averageDistance not found in entity <NSSQLEntity MHClub id=1>'
Run Code Online (Sandbox Code Playgroud)
当我取出第一个排序描述符时,我的应用程序运行得很好,但我的表视图并没有完全按照我想要的方式排序.如何根据NSManagedObjectSwift中子类的计算属性对表视图进行排序?
| 归档时间: |
|
| 查看次数: |
1636 次 |
| 最近记录: |