当前位置:  开发笔记 > IOS > 正文

如何在Core Data中使用带有fetchRequest的谓词

如何解决《如何在CoreData中使用带有fetchRequest的谓词》经验,为你挑选了1个好方法。



1> vadian..:

首先摆脱所有NSStringNSDictionary事件.这是斯威夫特!使用Swift本机结构StringDictionary.

其次,总是把所有好的代码放在do一个do - catch块的范围内.

CoreData谓词具有attribute == value与以下内容非常类似的简单格式aContact.uniqueId! == contactIdentifierString:

var contactIdentifierString = ""

func userSelectedContact(contactIdentifier: String) {

    let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext

    do {
        let fetchRequest : NSFetchRequest = Contact.fetchRequest()
        fetchRequest.predicate = NSPredicate(format: "uniqueId == %@", contactIdentifier)
        let fetchedResults = try context.fetch(fetchRequest) as! [Contact]
        if let aContact = fetchedResults.first {
           providerName.text = aContact.providerName
        }
    }
    catch {
        print ("fetch task failed", error)
    }

}

代码假定有一个NSManagedObject子类Contact包含

@nonobjc public class func fetchRequest() -> NSFetchRequest {
    return NSFetchRequest(entityName: "Contact")
}

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有