Swift 调用的结果未被使用
Swift result of call to is unused
我不知道如何在 swift3 中删除此警告:
调用 'responseMessagesArray' 的结果未使用
我的代码是这样的:
fileprivate class func getMessagesAtPath(_ path: String, tokenKey: String, completionHandler: @escaping (MyMessagesWrapper?, NSError?) -> Void) {
let credentialData = ":\(tokenKey)".data(using: String.Encoding.utf8)!
let base64Credentials = credentialData.base64EncodedString(options: [])
let headers = ["Accept": "application/json",
"Content-Type": "application/json",
"Authorization": "Basic \(base64Credentials)"]
Alamofire.request(path, headers: headers)
.responseMessagesArray { response in
if let error = response.result.error
{
completionHandler(nil, error as NSError?)
return
}
completionHandler(response.result.value, nil)
}
}
class func getMyMessages(_ completionHandler: @escaping (MyMessagesWrapper?, NSError?) -> Void) {
getMessagesAtPath(MyMessages.endpointForMyMessages(),tokenKey: MyMessages.getTokenKey(),completionHandler: completionHandler)
}
extension Alamofire.DataRequest {
func responseMessagesArray(_ completionHandler: @escaping (DataResponse<MyMessagesWrapper>) -> Void) -> Self {
let responseSerializer = DataResponseSerializer<MyMessagesWrapper> { request, response, data, error in
guard error == nil else
{
return .failure(error!)
}
guard let responseData = data else {
return .failure(AFError.responseSerializationFailed(reason: .inputDataNil))
}
let JSONResponseSerializer = DataRequest.jsonResponseSerializer(options: .allowFragments)
let result = JSONResponseSerializer.serializeResponse(request, response, responseData, error)
switch result {
case .success(let value):
let json = JSON(value)
let wrapper = MyMessagesWrapper()
wrapper.next = json["messages"]["next_page_url"].stringValue
wrapper.previous = json["messages"]["prev_page_url"].stringValue
wrapper.count = json["messages"]["total"].intValue
var allMessages:Array = Array<MyMessages>()
print(json)
let results = json["messages"]["data"]
//print(results)
for jsonAds in results
{
//print(jsonAds.1)
let mesaggesData = MyMessages(json: jsonAds.1, id: Int(jsonAds.0))
allMessages.append(mesaggesData)
}
wrapper.myMessages = allMessages
return .success(wrapper)
case .failure(let error):
return .failure(error)
}
}
return response(responseSerializer: responseSerializer,
completionHandler: completionHandler)
}
}
我从 fileprivate class func getMessagesAtPath() 收到警告
就在 .responseMessagesArray { 响应 出现的地方
我在 swift 2.
中从未收到过此警告
将函数的 return 值赋给 _
以显式丢弃它,像这样:
_ = somethingThatReturnsAValueYouDontCareAbout()
Swift 3 警告未使用的函数 return 值,因此您需要向它表明您知道自己在做什么。
我不知道如何在 swift3 中删除此警告:
调用 'responseMessagesArray' 的结果未使用
我的代码是这样的:
fileprivate class func getMessagesAtPath(_ path: String, tokenKey: String, completionHandler: @escaping (MyMessagesWrapper?, NSError?) -> Void) {
let credentialData = ":\(tokenKey)".data(using: String.Encoding.utf8)!
let base64Credentials = credentialData.base64EncodedString(options: [])
let headers = ["Accept": "application/json",
"Content-Type": "application/json",
"Authorization": "Basic \(base64Credentials)"]
Alamofire.request(path, headers: headers)
.responseMessagesArray { response in
if let error = response.result.error
{
completionHandler(nil, error as NSError?)
return
}
completionHandler(response.result.value, nil)
}
}
class func getMyMessages(_ completionHandler: @escaping (MyMessagesWrapper?, NSError?) -> Void) {
getMessagesAtPath(MyMessages.endpointForMyMessages(),tokenKey: MyMessages.getTokenKey(),completionHandler: completionHandler)
}
extension Alamofire.DataRequest {
func responseMessagesArray(_ completionHandler: @escaping (DataResponse<MyMessagesWrapper>) -> Void) -> Self {
let responseSerializer = DataResponseSerializer<MyMessagesWrapper> { request, response, data, error in
guard error == nil else
{
return .failure(error!)
}
guard let responseData = data else {
return .failure(AFError.responseSerializationFailed(reason: .inputDataNil))
}
let JSONResponseSerializer = DataRequest.jsonResponseSerializer(options: .allowFragments)
let result = JSONResponseSerializer.serializeResponse(request, response, responseData, error)
switch result {
case .success(let value):
let json = JSON(value)
let wrapper = MyMessagesWrapper()
wrapper.next = json["messages"]["next_page_url"].stringValue
wrapper.previous = json["messages"]["prev_page_url"].stringValue
wrapper.count = json["messages"]["total"].intValue
var allMessages:Array = Array<MyMessages>()
print(json)
let results = json["messages"]["data"]
//print(results)
for jsonAds in results
{
//print(jsonAds.1)
let mesaggesData = MyMessages(json: jsonAds.1, id: Int(jsonAds.0))
allMessages.append(mesaggesData)
}
wrapper.myMessages = allMessages
return .success(wrapper)
case .failure(let error):
return .failure(error)
}
}
return response(responseSerializer: responseSerializer,
completionHandler: completionHandler)
}
}
我从 fileprivate class func getMessagesAtPath() 收到警告 就在 .responseMessagesArray { 响应 出现的地方
我在 swift 2.
中从未收到过此警告将函数的 return 值赋给 _
以显式丢弃它,像这样:
_ = somethingThatReturnsAValueYouDontCareAbout()
Swift 3 警告未使用的函数 return 值,因此您需要向它表明您知道自己在做什么。