ios - 无法删除 NavigatorIOS 右键单击​​操作上的 Realm 对象

标签 ios react-native realm data-persistence

我正在尝试在 react native 应用程序中添加单点登录功能。我正在使用 Realm 来保存数据。它在登录过程中运行良好,并在用户首次登录时存储数据。但是当我单击导航器右上角的注销按钮时,我想从本地存储中删除用户对象。

home screen

当我尝试在 onRightButtonPress 事件中从 Realm 存储中删除用户对象时,出现 无效参数 异常。以下是 NavigatorIOS 中此事件的代码。

<NavigatorIOS
    barTintColor="#000000"
    tintColor="#fff"
    titleTextColor="#fff"
    ref={(ref) => this._navigator = ref}
    style={{flex: 1,backgroundColor: '#fff'}}
    initialRoute={{
        title: 'NOOZOO',
        component: Home,
        leftButtonIcon: require('../images/menu.png'),
        onLeftButtonPress: () => { this._drawer.open() },
        rightButtonTitle: 'Logout',
        onRightButtonPress: () => {alert('Logout');
                                   console.log({name: global.__user.name,token: global.__user.token});
                                   var users = realm.objects('User');
                                   console.log(users.length);
                                   console.log(users[0].isValid());
                                   realm.write(()=>{
                                    realm.delete('User', users[0]);
                                  });
                                   console.log('deleted');
                                  this._navigate({'title':'Company','routeName':'Home','active':false,'iconUrl': require('../images/check.png'),'newView':false}); 

                                  console.log(users);
                                  },
    }}/>

我正在将一些值打印到控制台,以验证 Realm 是否可访问并且存储中有一些对象,这看起来很好,如下图所示。

Console output when Logout is pressed

我不知道我是否在 Realm 方法调用上做错了什么。我已经看过 Realm 的文档,也在 github 上阅读了有关它的问题,但无法解决这个问题。任何帮助,将不胜感激。

最佳答案

调用 do delete 不将对象类型作为其第一个参数。尝试将该行更改为:

realm.delete(users[0]);

关于ios - 无法删除 NavigatorIOS 右键单击​​操作上的 Realm 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37784853/

相关文章:

android - 如何将第 3 方 aar 包含到 Android React Native 模块中?

android - react 导航标题标题被切断

android - 如何在我的 Realm 迁移代码中指定一个盒装字段可以为空?

android - 如何在 Android 上处理 Realm 事务

ios - 为什么我的转换是串联的,而不是被替换的?

ios - FFMPEG iOS 7 库

ios - Swift 3 NSMutableURLRequest 第二次调用失败

javascript - React Native 固定页脚与 React 导航

swift - 在 Xcode/Cocoapods 项目中更新 swift 版本的正确方法是什么?

ios - 如何向 UILabel 添加三角形,使其看起来像工具提示?