3

我找到了这个答案:https ://stackoverflow.com/a/4861732/1486928

我正在尝试这样做,但它不会让我分配一个新创建NSFetchRequest的并且在文档中它说:

@property(非原子,只读) NSFetchRequest *fetchRequest

但在下一行它说:

特别注意事项:如果要修改获取请求,则必须按照“获取请求”中描述的步骤进行操作。</p>

那么它是什么,我是否可以修改它:/?该属性非常令人困惑,readonly他们说我们可以修改它:(

4

2 回答 2

10

fetchRequest只读属性

open var fetchRequest: NSFetchRequest<ResultType> { get }

但是该NSFetchRequest 实例是一个可变属性,因此您可以更改其实体/排序描述符/谓词/ ...

于 2013-10-12T14:40:44.663 回答
0

是的你可以:

创建 NSFetchRequest 实例并每次更改其排序描述符:

    let sortDescriptor = NSSortDescriptor(key: key, ascending: ascending)
    request.sortDescriptors = [sortDescriptor]

    do {
        try fetchedResultViewController?.performFetch()
    } catch let error as NSError {
        print("Error in fetch \(error)")
    }

阅读苹果文档:https ://developer.apple.com/reference/coredata/nsfetchedresultscontroller

于 2017-06-05T11:27:03.283 回答