我是初学者,我发送请求登录服务器,服务器需要用户名、密码、ket 和注册 ID(Firebase 云消息的 token ),如下所示,regID 实际上是一个字符串
但为什么我需要对 regID
进行字符串插值?
我想在parameters
字典中,如果我只写regID
作为“registrationId”的值就可以了
"registrationId" : regID
像这样,
但是不行,服务器收不到那个registrationID,所以只好这样写
"registrationId" : "\(regID)"
regID实际上是一个字符串,但我不明白为什么我必须对字符串值进行字符串插值。我使用的代码如下
@IBAction func loginButtonDidPressed(_ sender: Any) {
self.activityIndicator.startAnimating()
guard let regID = registrationID else {return}
// send request to server
let url = URLService.login.endPoint
let parameters = [
"loginUser" : usernameTextField.text!,
"password" : passwordTextField.text!,
"registrationId" : "\(regID)",
"key" : "@PakuAttendance20171207@"
]
// the networking service below is actually alamofire
NetworkingService.fetchJSON(url: url, methodUsed: .post, parameters: parameters) { (result) in
switch result {
case .failure(let error) :
self.activityIndicator.stopAnimating()
self.showAlert(alertTitle: "Sorry", alertMessage: error.localizedDescription, actionTitle: "Back")
case .success(let jsonFromServer) :
}
registrationID 值为:
dYhReMYcbZs:APA91bGK9fH_Xa5lctmuH3e4m1zY9gUsVMfR34zsBHoVYStLITIcWZKr30Mu-0NqLuSE-rr25V2BnwAdpWvdAzW7i1BNFokz33pEoSr2fBZd468z0SwOGTytnrFHdNKFhTlGFHNZF3
最佳答案
那里不需要字符串插值。你是对的:
"registrationId" : regID
足够了。
关于ios - 为什么我需要对字典中的字符串值进行字符串插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48807307/