使用XCode8上传Swift3时遇到以下错误。
'NSInvalidArgumentException',原因:'JSON写入中的类型无效 (_SwiftValue)'
let param: Parameters = [
"email":txrNRC.text as AnyObject,
"password":txtPassword.text as AnyObject
]
请让我知道如何解决这个问题。我已经尝试使用let param: NSDictionary
,但收到了相同的错误消息。
答案 0 :(得分:9)
首先在Swift 3中,id
的Objective-C等价物是Any
而不是AnyObject
,这也避免了AnyObject
施法。
错误消息表明使用了非法类型(Parameters
),JSON仅支持string
,number
,<null>
和array
/ {{ 1}}。
在您的情况下,字典为dictionary
,根本不需要类型注释
[String:String]
如果let param = [
"email" : txrNRC.text,
"password" : txtPassword.text
]
和txrNRC
是选项,您需要打开它们,或者如果值为txtPassword
,则使用nil合并运算符指定占位符