【问题标题】:Cannot convert value of type '[String : String?]' to expected argument type '[NSObject : AnyObject]?'无法将类型“[String : String?]”的值转换为预期的参数类型“[NSObject : AnyObject]?”
【发布时间】:2015-12-24 01:43:12
【问题描述】:

当我使用 Parse 1.8.5 上传数据到 Parse 时,这个云代码在“params”中有编译错误,我无法调试它。

       let params = ["phoneNumber" : userPhoneNumber, 
                    "username": username,
                    "password": userPassword,
                    "Email": userEmail
                     ]  

        PFCloud.callFunctionInBackground("sendCode", withParameters: params, block: 
              { (response: AnyObject?, error: NSError?) -> Void in
            if response?.localizedDescription != nil {
                print(error)
                var alert = UIAlertView(title: "Failure", message: "SignUp Error", delegate: self, cancelButtonTitle: "OK")
                alert.show()
            } else {
                self.activityIndicator.stopAnimating()
            }
        })

【问题讨论】:

    标签: swift parse-platform ios9 nsobject


    【解决方案1】:

    错误消息说params的值中有可选类型。
    确保所有值都已解包。

    【讨论】:

      【解决方案2】:

      我的项目中遇到了同样的问题。我刚刚将我的代码从 let parameters = ["email": mail,"password":passCode ] 更改为 let parameters = ["email": mail as! AnyObject,"password":passCode as! AnyObject] 。不确定它是否会影响其他任何东西。

      【讨论】:

        【解决方案3】:

        它对我有用。试试这个:

        let parameters = ["number": number, 
                          "username": username,
                          "password": userPassword,
                          "Email": userEmail]
        PFCloud.callFunctionInBackground("sendCode", withParameters: parameters) { results, error in
                    if error != nil {  
                         print(error)   
                    } else {
                        self.activityIndicator.stopAnimating() 
                    }
        }
        

        确保 numberusernameuserPassworduserEmailsendCode 在 Parse Cloud 中的语法完全相同

        【讨论】:

          【解决方案4】:

          尝试将每个元素转换为 AnyObject

              let params = ["phoneNumber" : userPhoneNumber as! AnyObject, 
                          "username": username as! AnyObject,
                          "password": userPassword as! AnyObject,
                          "Email": userEmail as! AnyObject
                           ] 
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-01-14
            • 1970-01-01
            • 1970-01-01
            • 2017-01-06
            • 2016-10-04
            • 1970-01-01
            相关资源
            最近更新 更多