我是Swift的新手,尝试使用此{{3}},但是在swift 4.2上遇到了完成错误(response.result)
>>> truncatechars_middle(word, 4)
'12...89'
>>> truncatechars_middle(word, 5)
'12...789'
>>> truncatechars_middle(word, 6)
'123...789'
>>> truncatechars_middle(word, 7)
'123...6789'
>>> truncatechars_middle(word, 8)
'1234...6789'
>>> truncatechars_middle(word, 9)
'123456789'
答案 0 :(得分:1)
或者您可以使用AF5中可用的类型别名。例如:
@discardableResult
private static func performRequest<T: Decodable>(route: ApiRouterAuth, decoder: JSONDecoder = JSONDecoder(), completion: @escaping (AFResult<T>) -> Void) -> DataRequest {
return AF.request(route)
.responseDecodable(decoder: decoder) { (response: AFDataResponse<T>) in
completion(response.result)
}
}
答案 1 :(得分:0)
Alamofire 5不支持Swift 4.2,仅支持Swift 5及更高版本。降级到Alamofire v4,或更新完成处理程序以使用Result<T, Error>
。
答案 2 :(得分:0)
只需将AF放在Result和DataRequest前面,对我有用。