Я новичок в разработке iOS и быстро, и я использую Realm для моего быстрого проекта.Объект подкласса объекта Realm null, когда init
Во-первых, создать подкласс Realm объекта:
enum EnumA: Int {
case ValueA
case ValueB
}
class ClassA: Object {
var propA: EnumA = EnumA.ValueA
var propB: Double = 0.0
}
Тогда у меня есть еще один класс:
class ClassB: Object {
var id = 0
var name: String = ""
let aLotOfA = List<ClassA>()
override static func primaryKey() -> String? {
return "id"
}
}
Затем я создаю экземпляр ClassB где:
class ClassC: NSObject {
static let cManager = ClassC()
func defaultB() -> ClassB {
let instanceA = ClassA()
let instanceB = ClassB()
instanceB.name = "String"
instanceB.aLotOfA.append(instanceA)
return instanceB
}
}
И У меня есть этот класс:
class ClassD: Object {
let aB: ClassB = ClassC.cManager.defaultB()
}
Когда я звоню defaultB()
, первая строка (let instanceA = ClassA()
) делает экземплярA null. Я продолжаю получать сообщение в консоли, как это:
"Object type '(null)' does not match RLMArray type 'ClassA'."
или
"The `ClassD.aB` property must be marked as being optional."
Я не знаю, что здесь не так. Пожалуйста, помогите мне, спасибо.
И мое окружение:
Mac OS X 10.11.1 + Xcode 7,1
Realm является последним (скачал из realm.io)
Base SDK: IOS 9.1
Развертывание Цель: iOS 9
Согласно данным Realm docs, попробуйте заменить объявления переменных: 'var variable' с: ' dynamic var variable'. – zuziaka