无法转换'Int?'类型的值到预期的参数类型'字符串'
问题描述:
我正在处理社交媒体类型的应用程序,我想为用户实现块功能,但遇到错误“无法转换类型'Int'的值?到预期参数类型“字符串””无法转换'Int?'类型的值到预期的参数类型'字符串'
下面是我的代码 样品我首先声明当前用户ID和Pageuser ID
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))
需要一个Int?
作为第一个参数。
您需要更改传递第一个参数的方式并通过String
而不是Int?
。使用:String(userPageId)
将fromUser
转换为String
,然后将其作为第一个参数传递。
答
你正在传递一个Int,它需要一个字符串。试试这个:
self.userHelper.checkBanUser(with: "\(userPageId)", toUser: defaults.string(forKey: "userId")!)
请给我们介绍checkBanUser方法吗?或至少它的接口 –
我刚刚更新了这个问题 – KingJulian