上一次的 issue 通过 pull request 修改了,虽然 0 还是会 crash,但是可以使用负数了。
这一次的 issue 则是:
类似这种情况:
try db.run(item.update(subItemId <- nil ))
nil无法插入,也就是说无法置空。
这一条不会对数据库进行修改。
如果这是作者设计的初衷(为空时不更新),那也没有办法了。
前一段时间看了一下 Realm 的文档,感觉非常不错,虽然有继承问题,但是我还是以面向协议编程为主,应该不会有太大问题。要换储存技术?
但是用了这一段时间来,不得不说作者将数据库和 Swift 的 Type-Safe 结合的很好,而且我已经在类似 DAO 功能的 Swift 文件大量运用了装饰模式,将许多算法、指针操作的封装成几个面向协议式的 API ,要我马上换成 realm 真的是不太能接受改那数百行代码。
还是说要用原始 SQL 语句,放弃 Swift 的 Type-Safe 特性?
等到这个 issue 有回应了再说吧,有时间尝试读一下源码看看能不能自己改进一下。
更新:问题已经解决了