swift - 只请求一个实体的一个属性

标签 swift core-data attributes entity

所以我使用一个核心数据文件和一个名为 BookArray 的单一实体,在该实体中我有四个不同的属性,我想要做的是仅从实体请求这些属性之一而不是全部。是否可以?

    var appDel: AppDelegate = (UIApplication.sharedApplication().delegate as! AppDelegate)
    var context:NSManagedObjectContext = appDel.managedObjectContext!
    var request = NSFetchRequest(entityName: "BookArray")
    request.returnsObjectsAsFaults = false
    bookArray = context.executeFetchRequest(request, error: nil)!

假设我有一个名为 sciFi 的属性和另一个名为 drama 的属性,我如何只请求 drama 属性?

最佳答案

您可以通过添加:

request.propertiesToFetch = ["drama"]
request.resultType = .DictionaryResultType

但是,除非您的其他属性很大,否则不太值得:您的 bookArray 将包含一个字典数组,您需要从中解压相关值:您也可以直接从数组中执行此操作正常获取返回的 NSManagedObjects。

关于swift - 只请求一个实体的一个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31773424/

相关文章:

ios - UICollectionViewBackgroundView问题

ios - Swift NSURLSession 真的真的真的很慢

ios - 使用核心数据,是否可以在获取期间更改实体属性的值?

iphone - Objective-C 自定义 Getter/Setter

javascript - 获取深度嵌套的属性值

ios - UICollectionView 不会滚动到项目(在 : IndexPath, 处:位置)

swift - 无法使用带有 setter 的自定义下标方法来赋值

cocoa-touch - 如何以编程方式切换 UITableView 的 NSFetchedResultsController(或其谓词)?

jquery - 获取子元素的属性

python - Mechanize 浏览器没有属性