2015-10-19 20 views
7

में गतिशील वैकल्पिक गुण मैंने इस पोस्ट को Optional dynamic properties in Swift देखा है, लेकिन मैं कक्षा को NSObject में लपेटना नहीं चाहता हूं। यह सिर्फ दायरे डेटाबेस से संबंधित है, मेरे पास nil गुण नहीं हैं लेकिन यह मेरे डेटाबेस को मॉडल करने का एक अच्छा तरीका होगा। रीयल प्रलेखन में जो https://realm.io/docs/swift/latest/ पाया जा सकता है, यह कहता है कि विकल्प समर्थित हैं। यहाँ मेरीस्विफ्ट 2.0

कोड

dynamic var complete: Bool? = nil 

है और यहाँ है मेरी

त्रुटि

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

मैं जानता हूँ कि यह एक ही कोड और मैं लेकिन ऊपर पोस्ट के रूप में त्रुटि है क्या वास्तव में उत्सुक है अगर रीयल प्रलेखन कहता है कि यह इसका समर्थन करता है तो क्या उनके पास एक और काम है?

उत्तर

11

supported types और optional properties पर दस्तावेज़ों से।

String, NSDate, NSData और ऑब्जेक्ट गुण वैकल्पिक जा सकता है। वैकल्पिक संख्या भंडारण RealmOptional का उपयोग करके किया जाता है।

RealmOptional का समर्थन करता है Int, Float, Double, Bool, और Int का आकार संस्करणों के सभी (Int8, Int16, Int32, Int64)।

तो optionals अच्छी तरह से मानक तेजी से वाक्य रचना के साथ String, NSDate, NSData और Object प्रकार के लिए समर्थित हैं।

अन्य संख्यात्मक प्रकारों (जैसे Bool) के लिए RealmOptional के साथ किया जाता है। फिर इस RealmOptional प्रकार के एक चर का उपयोग करने के लिए आप अपनी value संपत्ति तक पहुंच सकते हैं, जो एक वैकल्पिक है जो आपके अंतर्निहित मूल्य का प्रतिनिधित्व करता है।

// 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

आप 'बदलने के लिए पूरा करते हैं की जरूरत है:)' को RealmOptional ('जाने पूरा = RealmOptional ()' –

संबंधित मुद्दे