'NSInvalidArgumentException', reason: 'Invalid type in JSON write (_SwiftValue)' with alamofire



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

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

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

请让我知道如何解决这个问题。我已经尝试过let param: NSDictionary,但得到相同的错误信息。

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

错误提示使用了非法类型(Parameters), JSON只支持stringnumber<null>array/dictionary

在您的示例中,字典是[String:String],根本不需要类型注释

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

如果txrNRCtxtPassword是可选的,你需要打开它们,或者如果值是nil

,使用nil合并运算符来分配占位符。

最新更新