美文网首页
CoreData里UUID的奇怪问题

CoreData里UUID的奇怪问题

作者: 留什么白 | 来源:发表于2017-12-11 21:58 被阅读102次

0x1

今天我在开发AppleWatch应用时发现了一个关于CoreData的极其古怪的问题,特此记录下来

0x2

因为CoreData是支持UUID类型的属性的,所以我在设计某个Model时就用了UUID的属性,但是因为不是连续开发导致我后来把这个属性的类型忘了,以为是String.

于是我在手机端的代码里写了类似这样的代码

let uuid: String = "7BD09D86-8941-4E50-9A42-7240E970FEE7"
let predicate = NSPredicate(format: "uuid = %@", argumentArray: [uuid])
//省略CoreData根据predicate获取数据的代码

注意Model里uuid的属性类型是UUID,我在这里直接用的是String
然后,我...很成功的获取到了预期的数据.
当然,我当时并没有意识到类型不匹配.

于是乎,我把相同的代码放到了

//MARK: -WCSession的代理方法 Watch向iPhone发送的消息在这里接收
 func session(_ session: WCSession, didReceiveMessage message: [String : Any], replyHandler: @escaping ([String : Any]) -> Void) 

然后,我怎么也获取不到数据了,一模一样的代码,我曾一度变成了有神论者,简直诡异至极....
获取数据的方法我放在什么线程里都不行,这个代理函数的执行环境我不知道跟主应用的程序执行环境有什么不同

0x3

结果到目前为止大家肯定已经知道了,就是把查询时的String类型的uuid修改成UUID类型

0x4

原因未知

相关文章

  • CoreData里UUID的奇怪问题

    0x1 今天我在开发AppleWatch应用时发现了一个关于CoreData的极其古怪的问题,特此记录下来 0x2...

  • UUID,排序

    今天在学习coreData过程中使用了了UUID(),使用过程中发现如下错误,简单讲就是空指针异常,反复尝试(百度...

  • iOS CoreData: error: Failed to

    在APP内调用framework里的CoreData的相关方法,报错CoreData: error: Failed...

  • 解决方法:Nordic的NUS服务工程修改UUID为SIG UU

    一、问题 使用 SDK 中的 ble_app_uart 工程, 想将 NUS_BASE_UUID 基础UUID {...

  • java uuid

    java 如何生成 uuid ? 首先看看百度百科里对uuid的定义UUID 是 通用唯一识别码(Universa...

  • 第五篇:CoreData

    CoreData 初识CoreData 基础使用CoreData 高级使用CoreData 使用进阶CoreDat...

  • FMDB实现ORM

    IOS开发者们在使用coreData和sqlite原生接口的问题上争论不休,使用coreData无疑更方便,它也在...

  • 唯一字符串(uuid)

    import uuid import base64 uuid.uuid4().bytes+ uuid.uuid4(...

  • CoreData 使用transformable类型存储数组

    最近项目中要做本地缓存,所以就选择了简单的CoreData进行存储,存储的时候遇到一个问题就是CoreData中无...

  • CoreData学习

    Coredata第一课 认识coredata 问题 在iOS/Mac中我们有许多方式去持久化存储数据:NSUser...

网友评论

      本文标题:CoreData里UUID的奇怪问题

      本文链接:https://www.haomeiwen.com/subject/uspwixtx.html