我是初学者,我发送登录服务器的请求,服务器需要用户名,密码,密码和注册ID(Firebase云消息的令牌),正如我们在下面看到的那样,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
答案 0 :(得分:1)
你不需要字符串插值。你是对的:
"registrationId" : regID
就够了。