'NSInvalidArgumentException',原因:'无效的JSON写入类型(_SwiftValue)'与alamofire swift3

时间:2016-10-30 06:57:40

标签: json swift swift3 alamofire xcode8

使用XCode8上传Swift3时遇到以下错误。

  

'NSInvalidArgumentException',原因:'JSON写入中的类型无效   (_SwiftValue)'

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

请让我知道如何解决这个问题。我已经尝试使用let param: NSDictionary,但收到了相同的错误消息。

1 个答案:

答案 0 :(得分:9)

首先在Swift 3中,id的Objective-C等价物是Any而不是AnyObject,这也避免了AnyObject施法。

错误消息表明使用了非法类型(Parameters),JSON仅支持stringnumber<null>array / {{ 1}}。

在您的情况下,字典为dictionary,根本不需要类型注释

[String:String]

如果let param = [ "email" : txrNRC.text, "password" : txtPassword.text ] txrNRC是选项,您需要打开它们,或者如果值为txtPassword,则使用nil合并运算符指定占位符