CoreData在Swift 3.0中的一点改变

news/2024/7/5 3:47:34

在Swift 2.0中我们需要从core data中query结果的时候使用的是如下方式:

func findAnimals() {
    let request = NSFetchRequest(entityName:”Animal")
        do {
        guard let searchResults = try context.executeFetchRequest(request) as? [Animal] else {
        print("Results were not of the expected structure")
        }
        ... use(searchResults) ...
        } catch {
        print("Error ocurred during execution: \(error)")
    }
}

注意,以上代码试图将executeFetchRequest返回的结果转换为实际数据类型的数组。同时我们看到,在建立request的时候直接使用的是NSFetchRequest的纯构造器方式。

但是在Swift 3.0中首先我们在创建request的时候必须用范型来指定实际数据类型,你可以用如下任何一句来完成:


http://www.niftyadmin.cn/n/581951.html

相关文章

《Leaflet 基础知识点》- 图层添加与删除(两种方式)

方式一 通过 L.Map 对象的方法添加或删除 L.Layer 对象。点此进入API 方式二 通过 L.Layer 对象的方法添加或删除 L.Map 对象中。点此进入API

Xcode8.x使用CoreData模型出现类被非法重定义的解决办法

这个问题在Xcode7.x中貌似没碰到过。不过在Xcode8.x中,在使用可视界面创建CoreData模型后再使用Editor->Create NSManagedObject Subclass之后有时会发现生成的数据对象类被重复定义的编译错误! 这是因为在Xcode8.0中包含了一个自动生成NSManagedObj…

Tomcat安装为服务service.bat设置

TOMCAT/bin/serice.bat install/unstall将TOMCAT安装成windows服务成功,但是启动的时候报错:提示“...特定代码0”service.bat加入set JAVA_HOMEC:\Program Files\Java\jre启动服务时出错,提示“...特定代码0”解决办法将JDK中BIN文件夹下的 msvcr71.dll 这个文件复…

给必填项加红色

$("form :input.required").each(function(){var $required $("<em>*</em>");$(this).parent().append($required); });

对GitHub的CoreData项目改造及完善

GitHub&CoreData(以下简称GC)项目是一个可以实时从GitHub的swift‘s Project里抓取更新的App。 其中用到了第三方的json库SwiftyJSON,以及用来保存,枚举以及修改数据的NSFetchedResultsController对象。 但是该项目在实际运行时用NSFetchedResultsController分组显示…

Swift 3.0:String初始化器Encoding不能为nil的解决

以后会写一系列Swift 3.0中的小变化的博文,内容短小,因为我遇到这种问题就马上写下来,并不会刻意积累一大堆再一起写出来.如果大家有Swift 3.0使用上的问题欢迎提问. 这个问题发生在之前可以执行的代码中: if let plays = try? String(contentsOfFile: path, usedEncoding: …

《Leaflet 基础知识点》- 图层循环(小技巧)

点此进入API 使用场景&#xff0c;如关闭全部打开的popup框 // 关闭全部Popup map.eachLayer((layer) > {layer.closePopup(); });

java 接口实现简单并能说明问题的例子

此代码一共包括4个类&#xff0c;在一个包下面&#xff1a; 例子1&#xff1a; 分别是CAR.java,BigCar.java,TestCar.java,CarInterface.java&#xff0c;从别人网页上学习&#xff0c;自己心得。 CAR.java&#xff1a; packagecom.su.callback;publicinterfaceCAR {voidstart(…