标签: realm

'RLMException',原因:'由于出现以下错误,需要迁移

当我调试应用程序时,我添加了一个新属性(@property NSString *haha;),但它显示以下异常:

Terminating app due to uncaught exception 'RLMException', reason: 'Migration is required due to the following errors: 
- Property 'haha' has been added to latest object model.'
Run Code Online (Sandbox Code Playgroud)

但是当我添加忽略的属性时,它工作得很好:

+ (NSArray *)ignoredProperties {
    return @[@"thead"];
}
Run Code Online (Sandbox Code Playgroud)

为什么?谢谢。

xcode objective-c realm ios

0
推荐指数
1
解决办法
8433
查看次数

Realm Swift 中的多维数组(超出最大深度错误)

我想用 Realm 制作一个 3D 数组,我使用 List 来完成这个。这是我的 RealmDatabase 的代码:

class Sensors : Object {


    dynamic var type = ""
    dynamic var name = ""

    let buttonAr = List<buttons>()

}

class buttons: Object{
   let  buttonsAdded = List<objectNameTopic>()
}

class objectNameTopic: Object {
    dynamic var name = ""
    dynamic var topic = ""
}
Run Code Online (Sandbox Code Playgroud)

这就是我用来称呼它的:

var saving = Sensors()
var saving2 = objectNameTopic()
var but = buttons()
var array = ["on", "off"]
var array2 = ["1","2"]
var allSensors = useOfRealm.objects(Sensors.self)

override func …
Run Code Online (Sandbox Code Playgroud)

realm ios swift

0
推荐指数
1
解决办法
1620
查看次数

Realm Swift - 货币数据类型

我在这个问题中注意到Using Realm.io to store money values

建议是对 Realm for Android/Java 中的货币值使用“long”数据类型。

Swift 的最佳推荐是什么?通过乘以基于货币的因子将其转换为 Int?目前我只处理单一货币,但理论上这可能会改变。作为货币价值,精度显然很重要。

realm swift

0
推荐指数
1
解决办法
604
查看次数

领域链接对象和删除

在 Realm 中,如果我有一个 linkingOjbects 关系设置,我应该如何处理删除而不是留下孤儿,尤其是当它是多对多逆关系时?

使用 Realm Person 和 Dog 示例,假设此实例中的 Person 是遛狗者,并且可以在不同的日子由不同的人遛狗

所以一个 Dog 对象被分配给多个 Person 对象。每个 Person 对象都可以看到 Dog。假设以下对象结构和数据

  Person : Object {
     dynamic var name:String = ""
     let dogs = List<Dog>()
  }

  Dog : Object {
    dynamic var name: String = ""
    let walkers = LinkingObjects<fromType: Person.self, property:"dogs">
  }


Person A
dogs = [Fido,Rover]

Person B
dogs = [Fido, Rover]
Run Code Online (Sandbox Code Playgroud)

人 A 不再需要走 Fido,所以正确的方法是

   personA.dogs.remove(objectAtIndex:idxOfFido) 
Run Code Online (Sandbox Code Playgroud)

这会更新 personA 中的引用,但它也会更新 dog 中的引用吗?

其次,如果 personB 也不再需要步行 Fido 我会做的

  personB.dogs.remove(objectAtIndex:idxOfFido)
Run Code Online (Sandbox Code Playgroud)

但这会不会在我的狗领域留下一个对 …

realm swift realm-list

0
推荐指数
1
解决办法
2614
查看次数

Android:从不正确的线程访问领域。Realm 对象只能在创建它们的线程上访问

因此,在 a 中IntentService,应用程序可能处于活动状态或非活动状态,onHandleIntent被调用,我将其放置在代码下方。这是我将数据存储到领域的地方。

 Realm realm = null;
    try { 
        realm = Realm.getDefaultInstance();
        realm.executeTransactionAsync(new Realm.Transaction() {
            @Override
            public void execute(Realm realm) {

                for (AppItem item : items) {
                    AppItem item2 = realm.createObject(AppItem.class, UUID.randomUUID().toString());
                    item2.mName = item.mName;
                    item2.mCount = item.mCount;
                    item2.mUsageTime = item.mUsageTime;
                }
            }
        });
    } finally {
        if (realm != null) {
            realm.close();
        }
    }
Run Code Online (Sandbox Code Playgroud)

然后我尝试在onPostExecutein 中访问它AsyncTask,在 中doInBackground,我正在获取RealmResults<AppItem>,然后将其存储到List <AppItem>并将其发送到onPostExecute放置此代码的位置。appItems这里是 ReamObject

 Realm backgroundRealm …
Run Code Online (Sandbox Code Playgroud)

android realm android-asynctask android-thread

0
推荐指数
1
解决办法
7288
查看次数

领域列表属性不保存数据

我有两个模型,我们称它们为学校和教师。模型如下

@objcMembers public class Schools : Object {


dynamic var   Id : String = ""
dynamic var   UserId : Int64 = 0
dynamic var   Name : String? = ""
dynamic var   listTeachers : List<Teachers>? =  nil
dynamic var   teachersList : [Teachers]? =  []
   }



@objcMembers public class Teachers : Object {


dynamic var   Id : String = ""
dynamic var   UserId : Int64 = 0
dynamic var   Name : String? = ""


   }
Run Code Online (Sandbox Code Playgroud)

现在在保存数据之前,我将教师对象(列表)放在 School 对象中,然后我将该 School 对象保存在领域写闭包中。

之后我只得到 School …

iphone realm ios swift realm-list

0
推荐指数
1
解决办法
1327
查看次数

如何删除除一种类型之外的所有对象?

我知道我可以使用以下代码轻松完成此操作:

realm.delete(realm.objects(Duck.self))
realm.delete(realm.objects(Frog.self))
//...
realm.delete(realm.objects(Cat.self))
Run Code Online (Sandbox Code Playgroud)

但是删除除一种类型的对象之外的所有对象的最佳方法是什么?

请注意,我有很多类型,每次添加新类型时我都应该修改我的deleteAll方法。

realm swift

0
推荐指数
1
解决办法
744
查看次数

在多个屏幕上打开领域时反应本机错误

我有一个关于在反应本机中创建和使用领域数据库的问题。

我有两个屏幕,负责执行crud、category.js和client.js等操作

category.js中我有以下构造函数

constructor(props) {
    super(props);
    realm = new Realm({
        schema: [{ name: 'category', primaryKey: 'id', properties: { id: 'int', descricao: 'string', status: 'bool' } }]
    })
}
Run Code Online (Sandbox Code Playgroud)

cliente.js中我有

constructor(props) {
    super(props);
    realm = new Realm({
        schema: [{ name: 'client', primaryKey: 'id', properties: { id: 'int', nome: 'string', cpf: 'string', celular: 'string', status: 'bool' } }]
    })
}
Run Code Online (Sandbox Code Playgroud)

现在我有以下疑问。

对于这个模式,我是否有一个包含表类别和客户端的数据库?

当我在 client.js 屏幕上并且想要转到 Category.js 时,我收到以下错误通知:已在具有不同架构的当前线程上打开。

如何关闭或打开连接,以便我可以在两个屏幕上使用该领域?

realm reactjs react-native

0
推荐指数
1
解决办法
1777
查看次数

RealmSwift LinkingObjects 和 Decodable

我有一个 Realm 模型类,我需要它是可解码的,这样我就可以从 JSON 序列化它并将其保存到数据库。每一个PortfolioItem都与一个相关联Product,在某些时候我需要通过逆关系来PortfolioItem访问。Product这就是我拥有LinkingObjects财产的原因。问题是当我试图遵守Decodable协议时。编译器给我一个错误Cannot automatically synthesize 'Decodable' because 'LinkingObjects<PortfolioItem>' does not conform to 'Decodable'。这该如何处理呢?我在网上找到的关于 LinkingObjects 和 Decodable 的信息很少,我不知道如何解决这个问题。

class PortfolioItem: Object {

    @objc dynamic var id: String = ""
    @objc dynamic var productId: String = ""

    @objc dynamic public var product: Product?

    convenience init(id: String, productId: String) {
        self.init()
        self.id = id
    }

}

final class Product: Object, Decodable {

    @objc dynamic var id: String …
Run Code Online (Sandbox Code Playgroud)

realm swift realm-mobile-platform

0
推荐指数
1
解决办法
665
查看次数

为什么我不断收到错误“没有这样的模块‘realmswift’”?

以前对这个问题的回答已经有一年多了。我试过了。他们真的不工作。我已经成功安装了使用 Realm 的 pod。我在 Realm 数据库中写入了几个具有名称和角色的用户,我可以使用 Realm Studio 看到这些用户。然后我离开了我的电脑一个小时(在此期间没有其他人碰过它)。当我回来时,我收到了 no such module 错误。

我曾多次尝试通过终端更新 pod 文件。我也退出了 Xcode 并重新启动了它。我还在谷歌上搜索解决方案,并尝试通过产品下拉菜单添加新方案。虽然这将使我的项目成功编译,但新方案不会在模拟器上启动。

这是我的 podfile:

# Uncomment the next line to define a global platform for your project
# platform :ios, '12.2'

target 'realmProject' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!

# Pods for realmProject
pod 'RealmSwift'

end
Run Code Online (Sandbox Code Playgroud)

这是给我错误的 ViewController:

import UIKit
import RealmSwift

class SecondViewController: UIViewController {
    @IBOutlet weak var nameTextField: UITextField! …
Run Code Online (Sandbox Code Playgroud)

xcode realm swift

0
推荐指数
1
解决办法
2995
查看次数