代码之家  ›  专栏  ›  技术社区  ›  Trombone0904

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

  •  1
  • Trombone0904  · 技术社区  · 10 年前

    大家早上好,

    我想请求名称字段为“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()
    }
    
    1 回复  |  直到 10 年前
        1
  •  2
  •   Dan Nichols    10 年前

    在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()
    }