当前位置: 移动技术网 > IT编程>移动开发>IOS > Ream--(objc)写事务精简方案

Ream--(objc)写事务精简方案

2020年03月09日  | 移动技术网IT编程  | 我要评论

食道癌最好治疗方法,森下里纪惠,顶楼的大象qvod

ream--(objc)写事务精简方案

地址: realm--

realm官方提供的的写事务有两种方式:

a
[realm beginwritetransaction]; // ... [realm commitwritetransaction]; b [realm transactionwithblock:^{ //... }];

由于realm强制线程安全,所以realm对象不适合持有。所以造成了realm写事务面向realm编程,而不是面向rlmobject编程。或者说realm的面向过的程痕迹还没消除干净,追求速度的realm由c++实现,realm选择了速度放弃了一些便利。

这种编码方式才是我们期望的
[object committransaction:^(object){ object.key = value; }];

常见的封装策略都是围绕ab两种形式。围绕a形式封装的问题是代码损耗大,作用域不直观,并且中间不能return,b形式封装的问题是夸闭包传值代码损耗大,调试原作用域浪费时间,不能return。

最理想的编码方式是一行

{
    @realm_writing; /// begin commit
    object.key = value;
} /// commit when leava current scope.

这种写法最佳方案是借助c++的析构函数,胆使用c++会要求所有.m文件修改为.mm。最终选择的是使用attribute来实现。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网