2015-10-19 10 views
7

Widziałem ten wpis Optional dynamic properties in Swift, ale nie chcę, aby zakończyć lekcję w NSObject. Dotyczy to tylko bazy danych Królestwa, które nie muszą mieć właściwości nil, ale byłby to dobry sposób na modelowanie mojej bazy danych. W dokumentacji Realm znajdującej się tutaj https://realm.io/docs/swift/latest/ jest napisane, że opcje są obsługiwane. Oto mojaDynamiczne opcjonalne właściwości w Swift 2.0

Kod

dynamic var complete: Bool? = nil 

i tu jest moje

Błąd

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

wiem, że to ten sam kod i błędów jak słupka powyżej ale Ciekaw jestem tylko, czy dokumentacja z Królestwa mówi, że to popiera, czy mają inną pracę?

Odpowiedz

11

Z dokumentów na temat supported types i optional properties.

String, NSDate, NSData i Właściwości obiektu mogą być opcjonalne. Zapisywanie opcjonalnych numerów odbywa się za pomocą RealmOptional.

RealmOptional obsługuje Int, Float, Double, Bool, a wszystkie wielkości wersjach Int (Int8, Int16, Int32, Int64).

Tak OPCJE są obsługiwane przez String, NSDate, NSData i Object typów ładnie ze standardową składnią Swift.

Dla innych typów numerycznych (takich jak Bool), które są wykonywane z RealmOptional. Następnie, aby użyć zmiennej tego typu: RealmOptional, uzyskujesz dostęp do jej właściwości value, która jest opcjonalna, która reprezentuje wartość bazową.

// definition (defined with let) 
let complete = RealmOptional<Bool>() // defaults to nil 
// usage 
complete.value = false // set non-nil value 
... 
complete.value = nil // set to nil again 
+2

trzeba zmienić 'niech kompletna: RealmOptional ()' na 'niech kompletny = RealmOptional ()' –

Powiązane problemy