2016-10-30 5 views
6

के साथ अमान्य प्रकार XCode8 का उपयोग करते हुए स्विफ्ट 3 अपलोड करते समय मुझे निम्न त्रुटि का सामना करना पड़ा।'NSInvalidArgumentException', कारण: 'JSON लिखने में अमान्य प्रकार (_SwiftValue)' alamofire swift3

'NSInvalidArgumentException', कारण:

let param: Parameters = [ 
    "email":txrNRC.text as AnyObject, 
    "password":txtPassword.text as AnyObject 
] 

कृपया मुझे पता है कि इस मुद्दे को हल करने के लिए कैसे करते हैं 'JSON लिखने (_SwiftValue) में अमान्य प्रकार'। मैंने पहले से ही let param: NSDictionary के साथ प्रयास किया है लेकिन मुझे एक ही त्रुटि संदेश मिला है।

उत्तर

8

स्विफ्ट 3 में सबसे पहले id की ऑब्जेक्टिव-सी बराबर Any बजाय AnyObject है, वह भी AnyObject कास्टिंग बचा जाता है।

त्रुटि संदेश इंगित करता है कि एक अवैध प्रकार प्रयोग किया जाता है (Parameters), JSON का समर्थन करता है केवल string, number, <null> और array/dictionary

आपके मामले में शब्दकोश, [String:String] है एक प्रकार एनोटेशन

let param = [ 
    "email" : txrNRC.text, 
    "password" : txtPassword.text 
] 

यदि सब txrNRC और txtPassword हैं optionals पर की जरूरत नहीं है कि आप उन्हें खोलने या एक प्लेसहोल्डर यदि आवंटित करने के लिए नहीं के बराबर कोलेसिंग ऑपरेटर का उपयोग करने की आवश्यकता है मान nil

+1

यदि ऐसा है, तो वैकल्पिक ("") शामिल है। – ppshein

+1

टेक्स्टफील्ड के बाद मेरी समस्या हल करने के बाद '!' जोड़ें। – ppshein

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