在 swift 中请求核心数据的选定日期

request selected date of coredata in swift

大家早上好,

我想请求名称字段为 "meyer"

的我的核心数据的所有数据

目前,我是这样做的,但我认为,这不是最好的方法。

let managedObjectContext = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
var lebensmittel = [LM_ITEMS]()
var LM_ITEM:NSManagedObject!
var x :Int = 0
var NumberOfLM :Int = 0


func DatenAbrufen() {


    let fetchRequest = NSFetchRequest(entityName: "LM_ITEMS")

    if let fetchResults = managedObjectContext!.executeFetchRequest(fetchRequest, error: nil) as? [LM_ITEMS] {
        lebensmittel = fetchResults
        while x < fetchResults.count {

            var TEMP_LM_ITEM = lebensmittel[x]

            if TEMP_LM_ITEM.name == "meyer" {
                LM_ITEM = lebensmittel[x]
                NumberOfLM++
            }
         x++
        }
    }

    LebensmittelTable.reloadData()
}

在 NSFetchRequest 中使用谓词而不是循环:

let managedObjectContext = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext!
var lebensmittel = [LM_ITEMS]()
func DatenAbrufen() {
    var fetchRequest = NSFetchRequest(entityName: "LM_ITEMS")
    fetchRequest.predicate = NSPredicate(format: "name = %@", "meyer")
    if let fetchResults = managedObjectContext.executeFetchRequest(fetchRequest, error: nil) as? [LM_ITEMS] {
        lebensmittel = fetchResults
    }
    LebensmittelTable.reloadData()
}