realmdb自动更新和持久存储

时间:2016-11-28 13:34:41

标签: xamarin realm

You documentation on auto updating objects

这只是更新对象的内存实例,而不是将其持久存储...正确吗?

1 个答案:

答案 0 :(得分:2)

  

对象的内存实例

托管RealmObjects是底层数据库的代理。

托管的RealmObjects在写入事务之外是“不可变的”(除了它们同步到Realm的最新版本时)。

这意味着,托管的RealmObjects只能在写入事务中修改。

  

并且不会将其保存到存储中......对吗?

对写入事务中托管的RealmObject的任何可变更改都直接写入数据库,尽管写入RealmObject的“新版本”仅在写入事务处理时保留为“新的最新版本”承诺。

<script>
  // Import the Lock instance
  import {lock} from '../index'

  export default {

    ready() {

      lock.on("authenticated", function(authResult) {
          lock.getProfile(authResult.idToken, function(error, profile) {

            if (error) {
              // handle error
              return;
            }

            localStorage.setItem('profile', JSON.stringify(profile))
            localStorage.setItem('id_token', authResult.idToken)

          });
      });

    },

    methods: {

      login() {

        // Show the lock widget
        lock.show();

      },

      logout() {

        // Remove the profile and token from localStorage
        localStorage.removeItem('profile');
        localStorage.removeItem('id_token');

      }
    }

  }

  </script>

这意味着修改写入事务中的内存中实例也会将其保留到存储