【问题标题】:NSFetchRequest - can it return an array of properties?NSFetchRequest - 它可以返回一个属性数组吗?
【发布时间】:2010-10-30 04:41:21
【问题描述】:

除非我遗漏了文档中的某些内容,否则我看不出是否可以执行 NSFetchRequest 以便它返回对象属性数组,而不是对象本身。

例如,我有:

@interface SaleDate {
NSDate *open;
NSDate *close;
Sale *sale;
}

我想查询类似close >= $today 的内容。但是,这给了我一个 SaleDate 数组,而我真正想要的是一个不同的 Sale 数组。我将它与 NSFetchedResultsController 一起使用,因此需要它来处理 Sale 对象。

顺便说一句,在使用二进制存储时,我还有另一个(首选)查询在工作 - 它是 SQLite 存储,它让我费尽心思去寻找一个替代但等效的查询。

【问题讨论】:

    标签: iphone sqlite core-data


    【解决方案1】:

    iPhone OS 2.x 和 Mac OS X 10.5 没有此功能。

    请参阅 iPhone OS 3.0 的 NSFetchRequest 文档。

    特别想看看

    -setResultType:
    -setReturnsDistinctResults:
    -setPropertiesToFetch:
    

    【讨论】:

      【解决方案2】:

      如果您有一个 SaleDate 数组并想要一个 Sale 数组,只需编写:

      NSArray *arrayOfSale = [arrayOfSaleDate valueForKeyPath:"@sale"];
      

      这假定 SaleDate 对于“sale”成员是符合 KVC 的。如果 SaleDate 是一个托管对象,而“sale”是一个建模属性,那么已经是这种情况了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多