【问题标题】:'NSInvalidArgumentException', reason: 'Invalid type in JSON write (_SwiftValue)' with alamofire swift3'NSInvalidArgumentException',原因:'JSON 写入(_SwiftValue)中的类型无效'与 alamofire swift3
【发布时间】:2017-03-12 14:59:01
【问题描述】:

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

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

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

请告诉我如何解决该问题。我已经尝试过let param: NSDictionary,但得到了同样的错误信息。

【问题讨论】:

    标签: json swift swift3 alamofire xcode8


    【解决方案1】:

    首先,在 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 合并运算符分配占位符

    【讨论】:

    • 如果是这样,则包含 Optional("")。
    猜你喜欢
    • 2020-04-03
    • 2012-12-29
    • 1970-01-01
    • 2017-01-27
    • 2017-01-24
    • 1970-01-01
    • 2017-07-05
    相关资源
    最近更新 更多