Swift 无法转换类型为';Int?&x27;到预期的参数类型';字符串';
我正在开发一个社交媒体类型的应用程序,我想为用户实现阻止功能,但遇到一个错误“无法将'Int'类型的值转换为预期的参数类型'String'” 下面是我的代码示例 我首先声明了当前用户ID和页面用户IDSwift 无法转换类型为';Int?&x27;到预期的参数类型';字符串';,swift,Swift,我正在开发一个社交媒体类型的应用程序,我想为用户实现阻止功能,但遇到一个错误“无法将'Int'类型的值转换为预期的参数类型'String'” 下面是我的代码示例 我首先声明了当前用户ID和页面用户ID var currentUserId: Int! var userPageId: Int! 然后是给出错误的主代码 self.userHelper.checkBanUser(with: userPageId, toUser: defaults.string(forKey: "userId")
var currentUserId: Int!
var userPageId: Int!
然后是给出错误的主代码
self.userHelper.checkBanUser(with: userPageId, toUser: defaults.string(forKey: "userId")!) { (data) in
if data {
self.blockLabel.isHidden = false
}
else {
//
}
}
错误来自“userPageID”
更新。这是检查被禁止用户的功能
func checkBanUser(with fromUser: String,toUser: String,completionHandler : @escaping ((_ isResponse : Bool) -> Void)) {
let urlRequest = String(format: "%@%@",BASE_BACKEND_URL,ENDPOINT_CHECK_BANN)
Alamofire.request( urlRequest,method: .post, parameters: ["X-API-KEY": API_GENERAL_KEY,"fromUser":fromUser,"toUser":toUser])
.responseJSON { response in
let itemz = response.result.value as! NSDictionary!
let resp = itemz?.value(forKey: "respon") as! String
if (resp == "banned"){
completionHandler (true)
} else {
completionHandler (false)
}
}
}
在需要字符串的地方传递一个Int。请尝试以下方法:
self.userHelper.checkBanUser(带“\(userPageId)”,toUser:defaults.string(forKey:“userId”)!
您的方法:func checkBanUser(带fromUser:string,toUser:string,completionHandler:@escaping((isResponse:Bool)->Void))
将Int?
作为第一个参数
您需要更改传递第一个参数的方式,并传递
字符串,而不是Int?
。使用:String(userPageId)
将从用户
转换为字符串
,然后将其作为第一个参数传递。请向我们展示方法checkBanUser
?或者至少它的接口I刚刚更新了问题。该函数将字符串
作为第一个参数,而不是Int?
。