我正在将Realm集成到我的应用程序中。我需要知道如何在custom class中存储RLMObject subclass对象。

最佳答案

允许保存在Realm中的唯一属性是the Documentation:

Realm支持以下属性类型:BOOL,bool,int,
NSInteger,long,long long,float,double,NSString,NSDate,NSData,
和用特定类型标记的NSNumber。

如果您需要存储另一个对象(您要提及自定义类的实例),则官方支持的方法是创建RLMObject的子类(假设您使用的是Objective-C),并在您的属性中父对象,创建引用,就像docs中提到的示例一样:

#import <Realm/Realm.h>

@class Person;

// Dog model
@interface Dog : RLMObject
@property NSString *name;
@property Person   *owner;
@end
RLM_ARRAY_TYPE(Dog) // define RLMArray<Dog>

// Person model
@interface Person : RLMObject
@property NSString             *name;
@property NSDate               *birthdate;
@property RLMArray<Dog *><Dog> *dogs;
@end
RLM_ARRAY_TYPE(Person) // define RLMArray<Person>

在此示例中,Dog模型中有一个属性owner。我认为这就是您要寻找的。

关于ios - 如何在Realm中存储NSObject类?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39591506/

10-13 05:49