我为《战狼2》40 亿票房贡献 20 元。
恩,战狼好看的。
其实是,昨晚没睡好,加上宝宝闹腾,今天直接没状态,CloudKit + 本地持久化方案也没实质进展。遂,到影院放松一下。
明天,一定搞定CloudKit + 本地持久化方案,搞不定不睡觉。
独立开发,自由职业
我为《战狼2》40 亿票房贡献 20 元。
恩,战狼好看的。
其实是,昨晚没睡好,加上宝宝闹腾,今天直接没状态,CloudKit + 本地持久化方案也没实质进展。遂,到影院放松一下。
明天,一定搞定CloudKit + 本地持久化方案,搞不定不睡觉。
之前花过时间了解 CloudKit,现在要开始做 iPaste macOS 与 iOS 端的同步,重新开始学习 CloudKit.
看了一天的教程,也跟着写了些测试代码,大体是明白了。现在的关键问题是,如何配合 CloudKit,以选择本地持久化方案?
如果是自己监控本地、云端的变化,手动合并,总感觉繁琐、容易出问题。另外,这是比较基础性的事,想着应该会有现成的解决方案。试着找了下,只大概找到几个看起来并不太靠谱的方案、开源库。之前,Core Data 就可以配合 iCloud 实现同步,苹果大爷在不更新这一方案后,为什么不做 Core Data + CloudKit 同步呢?感觉这是很基础的功能,让大家都造自己的轮子,哎…
iPaste for iOS 端基本功能已可用,我已经录入了自己在回复用户问题时常用的答案,先用几天。
接下来是另一个山头:适配 CloudKit,以在不同 macOS/iOS 设备间同步。技术可行性应该是没有问题,主要是学习和实现的过程。
晚上休息了下,连续看了 4 集《硅谷》这部美剧,其中一些段子还是挺有意思的 😀
今天早起,很开心地把搜索做好了。
却发现,实现的效果不太理解。又参考了几款其它 App 的交互,决定改了。
改功能…
哎,自己设计的功能,总不能把自己打一顿吧。算了,改。
不过,新的设计确实增加了实现复杂度,需要在一个 Table 中显示剪贴板列表、搜索后的剪贴板列表、搜索历史,很容易出现一堆代码耦合的问题。目前的解耦方式是:每种模式的 DataSource 独立出来,并继续同一个 Protocol;然后,根据当前条件切换 UITableView 的 DataSource,并在 Delegate 中调用对应 DataSource 的方法。只做了一部分,明天估计还得 3 个小时。
上午基本搞定了搜索的数据结构部分。主要的时间耽误在了 NSPredicate
上,因为 Core Data 仅支持简单的搜索条件。最后没办法,还是组合了一堆条件,实现了功能。
在 UI 交互上,花的时间更多。一方面自己不熟悉,另一方面连续代码几天,效率变低了。
周末干一天活、休息一天,调整下状态。