2017-11-08 3 views
0

Swift 4와 Realm 3.0.1을 사용하여 부모 영역의 속성에 Realm 객체 목록을 저장하고 싶습니다. 객체입니다. 다음과 같은 문제가 발생했습니다.Swift 4에서 영역 목록 속성을 유지하는 방법은 무엇입니까?

스위프트 4에서 Realm에 유지되어야하는 속성은 @objc dynamic이어야합니다. @objc dynamic var id: String = "". 이 컴파일러 오류가 발생 @objc dynamic var children: List<Child>? = nil : 그러나 영역의 배열 교체 형, List는, 그런 식으로 저장할 수 없습니다

final class Child: Object { 
    @objc dynamic var name: String = "" 
} 

final class Parent: Object { 
    // this fails to compile 
    @objc dynamic var children1: List<Child>? 

    // this compiles but the children will not be persisted 
    var children2: List<Child>? 
} 

그래서 다른 방법이 자세한 상황에 대한

Property cannot be marked @objc because its type cannot be represented in Objective-C

을 여기 전체 예제 Realm and Swift 4에 객체 목록을 저장 하시겠습니까?

답변

4

영역 Listnil 일 수 없으며 @objc dynamic은 필요하지 않습니다. 내가 그 구체적 문서에서라고하는 documentation의 속성에 대한 cheat sheet가 특별히

을 그것을 호출하는 영역 기여에서 comment이 찾을 수 있지만 그들은 단지, let해야합니다.

let dogs = List<Dog>() 
관련 문제