对于我正在处理的应用,我已将几个项目保存到我的coredata模型中。
我的目的是根据某些属性是否为真,有选择地将它们打印到tableview。
给出CoreData中的项目的示例:
/////////////////////
1 - 姓名:Joe,显示:true
2 - 名字:莎莉,显示:假
3 - 姓名:Bob,显示:false
4 - 名字:Jess,显示:true
/////////////////////
我只希望我的表视图显示到显示为true的单元格 所以在4个条目中只有Joe和Jess会列在我的tableview中
到目前为止,我只知道如何打印出每一件物品。使用表视图数据源协议
感谢帮助一个菜鸟!
答案 0 :(得分:1)
我会做这样的事情:
//此处您的实体称为“用户”
var myUsers = [Users]()
var fetchRequest = NSFetchRequest(entityName: "Users")
let Predicate = NSPredicate(format: "display = %@", true)
fetchRequest.predicate = Predicate
// maybe Sort?
var sortDescriptor = NSSortDescriptor(key: "UserID", ascending: true)
var sortDescriptors = [sortDescriptor]
fetchRequest.sortDescriptors = sortDescriptors
myUsers = context!.executeFetchRequest(fetchRequest, error: nil) as [Users]
//在TableView(cellForRowAtIndexPath)
中使用它们var myuser = myUsers[indexPath.row] as Users
答案 1 :(得分:0)
您应该使用NSFetchedResultsController
来显示核心数据对象
表格视图。
然后通过设置谓词
来简单地限制显示的项目NSPredicate(format: "display == YES")
在获取的结果控制器上。