Swift 如何在领域中列出LinkingObject属性?
我需要列出对象的LinkingObject类型的所有属性Swift 如何在领域中列出LinkingObject属性?,swift,realm,Swift,Realm,我需要列出对象的LinkingObject类型的所有属性 class Dogs: Object { dynamic var name: String = "" dynamic var age: Int = 0 dynamic var owner: Persons? } class Cats: Object { dynamic var name: String = "" dynamic var age: Int = 0 dynamic var o
class Dogs: Object {
dynamic var name: String = ""
dynamic var age: Int = 0
dynamic var owner: Persons?
}
class Cats: Object {
dynamic var name: String = ""
dynamic var age: Int = 0
dynamic var owner: Persons?
}
class Persons: Object {
dynamic var name: String = ""
dynamic var address: String = ""
let dogs = LinkingObjects(fromType: Dogs.self, property: "owner")
let cats = LinkingObjects(fromType: Cats.self, property: "owner")
}
ObjectSchema正确返回架构:
let person = Persons()
let schema = person.objectSchema
print(schema)
结果:
Persons {
name {
type = string;
objectClassName = (null);
linkOriginPropertyName = (null);
indexed = NO;
isPrimary = NO;
optional = NO;
}
address {
type = string;
objectClassName = (null);
linkOriginPropertyName = (null);
indexed = NO;
isPrimary = NO;
optional = NO;
}
dogs {
type = linking objects;
objectClassName = Dogs;
linkOriginPropertyName = owner;
indexed = NO;
isPrimary = NO;
optional = NO;
}
cats {
type = linking objects;
objectClassName = Cats;
linkOriginPropertyName = owner;
indexed = NO;
isPrimary = NO;
optional = NO;
}
}
但是,objectSchema.properties不返回LinkingObjects属性
let properties = schema.properties
print(properties)
返回:
[name {
type = string;
objectClassName = (null);
linkOriginPropertyName = (null);
indexed = NO;
isPrimary = NO;
optional = NO;
}, address {
type = string;
objectClassName = (null);
linkOriginPropertyName = (null);
indexed = NO;
isPrimary = NO;
optional = NO;
}]
狗和猫的财产在哪里
谢谢。链接对象的属性列在
RLMObjectSchema
的computedProperties
属性中,该属性当前未公开或未出现在该类的Swift版本中。虽然可以通过obj-c类的实例(通过.valueForKey(“computedProperties”)
)访问私有属性,但这在Swift类上不起作用,并且在使用领域Swift时,没有任何好的方法访问obj-cRLMObjectSchema
.我找到了解决方案:
let computedProperties = Persons.sharedSchema()?.computedProperties