草庐IT

sqlite - 在带有 Redux 的 React Native 应用程序中使用 Realm

我即将着手开发ReactNative应用程序,并且完全相信使用Redux管理应用程序状态的好处,但是我想通过使用Realm进行持久存储,使应用程序的数据在离线时可用。我想知道Redux将如何与Realm一起玩?我正在开发的应用程序将通过RESTfulAPI提取大量JSON数据,然后我想将这些数据保存到本地存储-Realm似乎是一个很好的选择。然而,我不确定的是Realm数据库将如何存在于Redux存储中?它必须存在于商店外部吗?在基于Redux的应用程序中使用Realm是否有点自相矛盾?我很好地搜索了描述使用Realm或其他存储选项(Asyncstorage或SQLite)使用Redu

ios - 在不影响存储对象的情况下更改值 - Realm swift

我正在使用Realm来保存我的数据。我的问题是我想对对象进行一些小的临时更改,我不希望这些更改反射(reflect)在我存储的对象中,但是Realm不允许我在没有写block的情况下更改检索到的对象的属性,最终导致将我的临时更改保存在数据库中。我无法通过创建新对象和分配值来复制对象,因为我有大数据集。是否有任何简单的解决方案来实现这一目标? 最佳答案 不幸的是,正如您已经说过的,您不能在RealmObject之后“暂时”将新值应用于Realm属性。已写入Realm文件。这是Realm实现的既定事实,没有正式的解决方法。因此,有必要提

ios - 在不影响存储对象的情况下更改值 - Realm swift

我正在使用Realm来保存我的数据。我的问题是我想对对象进行一些小的临时更改,我不希望这些更改反射(reflect)在我存储的对象中,但是Realm不允许我在没有写block的情况下更改检索到的对象的属性,最终导致将我的临时更改保存在数据库中。我无法通过创建新对象和分配值来复制对象,因为我有大数据集。是否有任何简单的解决方案来实现这一目标? 最佳答案 不幸的是,正如您已经说过的,您不能在RealmObject之后“暂时”将新值应用于Realm属性。已写入Realm文件。这是Realm实现的既定事实,没有正式的解决方法。因此,有必要提

swift - Realm 对象属性丢失了它的值,但在打印整个对象时我可以看到它

尝试从我的Realm(iOS、Swift、Realm版本0.98.2)获取对象时,我偶然发现了一件奇怪的事情print("speaker:")print(RealmProvider.appRealm.objects(FavoriteSpeaker).first!)正确地将我的对象转储到控制台中:speaker:FavoriteSpeaker{name=AshleyNelson-Hornstein;}但是当我尝试获取name属性的值时:print("speakername:")print(RealmProvider.appRealm.objects(FavoriteSpeaker).fi

swift - Realm 对象属性丢失了它的值,但在打印整个对象时我可以看到它

尝试从我的Realm(iOS、Swift、Realm版本0.98.2)获取对象时,我偶然发现了一件奇怪的事情print("speaker:")print(RealmProvider.appRealm.objects(FavoriteSpeaker).first!)正确地将我的对象转储到控制台中:speaker:FavoriteSpeaker{name=AshleyNelson-Hornstein;}但是当我尝试获取name属性的值时:print("speakername:")print(RealmProvider.appRealm.objects(FavoriteSpeaker).fi

ios - Realm,Swift 3.0 中的自动递增 ID

几经周折,我终于把我的代码转换成了Swift3.0。但我的incrementID函数似乎不再起作用了?有什么建议可以解决这个问题吗?我的incrementID和primaryKey函数现在看起来是这样。overridestaticfuncprimaryKey()->String?{return"id"}funcincrementID()->Int{letrealm=try!Realm()letRetNext:NSArray=Array(realm.objects(Exercise.self).sorted(byProperty:"id"))asNSArrayletlast=RetNex

ios - Realm,Swift 3.0 中的自动递增 ID

几经周折,我终于把我的代码转换成了Swift3.0。但我的incrementID函数似乎不再起作用了?有什么建议可以解决这个问题吗?我的incrementID和primaryKey函数现在看起来是这样。overridestaticfuncprimaryKey()->String?{return"id"}funcincrementID()->Int{letrealm=try!Realm()letRetNext:NSArray=Array(realm.objects(Exercise.self).sorted(byProperty:"id"))asNSArrayletlast=RetNex

ios - 在后台线程写入 Realm 后,主线程看不到更新的数据

清除数据库。进行API调用以获取新数据。在后台线程中将从API检索到的数据写入数据库。在主线程上从数据库中读取数据并呈现UI。在第4步中,数据应该是最新数据,但我们没有看到任何数据。//remark:allmainthreadsharedarealmobjectDBManager.deleteAll()//callapisuccess,getnewdataDispatchQueue.global(qos:.background).async{DBManager.initDBData()DispatchQueue.main.async{print("hasdata?????",DBMan

ios - 在后台线程写入 Realm 后,主线程看不到更新的数据

清除数据库。进行API调用以获取新数据。在后台线程中将从API检索到的数据写入数据库。在主线程上从数据库中读取数据并呈现UI。在第4步中,数据应该是最新数据,但我们没有看到任何数据。//remark:allmainthreadsharedarealmobjectDBManager.deleteAll()//callapisuccess,getnewdataDispatchQueue.global(qos:.background).async{DBManager.initDBData()DispatchQueue.main.async{print("hasdata?????",DBMan

ios - 如何将 Realm 数据库迁移到应用程序组?

对于最近在应用程序和扩展程序之间共享Realm数据感到非常兴奋。该文档详细说明了如何将默认Realm设置为应用程序组目录,我已经做到了。这就是我坚持的问题--将旧数据库转移到应用程序组中的新位置的最佳方法是什么? 最佳答案 根据@segiddins的评论,我决定使用NSFileManager将旧数据库移动到应用程序组:letfileManager=NSFileManager.defaultManager()//Cacheoriginalrealmpath(documentsdirectory)letoriginalDefaultRe