如何解决不能专门化非泛型类型“结果”
我正在尝试进行简单的网络调用,但在使用结果类型时出现错误。 Xcode 告诉我“不能专门化非泛型类型‘结果’”。我正在寻找解决方案,但没有在互联网上找到它,也没有在 stackoverflow 中找到它。 错误是:
Cannot specialize non-generic type 'Result'
Remove '<FriendsModel,NetworkingError>'
我的代码是:FriendsWebServices.swift
import Foundation
enum NetworkingError:Error{
case nodataAvailable
case invalidURL
case canNotProcessData
case encodingError
case statusCodeIsNotOkay
}
class FriendsWebServices{
static let shared = FriendsWebServices()
private let session = URLSession.shared
//Get Method
func getPosts(completion: @escaping (Result<FriendsModel,NetworkingError>)->Void){
let urlStirng = EndPointSouce.getEndPoint(type: .Base) + EndPointSouce.getEndPoint(type: .HowManyFriends(10))
guard let url = URL(string: urlStirng) else {
completion(.failure(.invalidURL))
return
}
// Create the url request
var request = URLRequest(url: url)
request.httpMethod = "GET"
let dataTask = session.dataTask(with: request) { data,response,error in
guard let jsonData = data else{
completion(.failure(.nodataAvailable))
return
}
guard let response = response as? HTTPURLResponse else {
print("Response is nil")
return
}
if response.statusCode == 200{
do{
let decoder = JSONDecoder()
let responseObject = try decoder.decode([Post].self,from: jsonData)
completion(.success(responseObject))
}catch{
completion(.failure(.canNotProcessData))
}
}else{
completion(.failure(.statusCodeIsNotOkay))
}
}
dataTask.resume()
}
}
我的模型:
import Foundation
struct FriendsModel:Decodable{
var results: [Result]
}
struct Result:Decodable {
var name: Name
var location : Location
var email: String
var phone : String
var cell: String
var picture : Picture
}
struct Name:Decodable{
var title: String
var first: String
var last: String
}
struct Location:Decodable {
var street: String
var city : String
var state: String
var postcode: String
var timezone:TimeZone
}
struct TimeZone:Decodable {
var offset: String
var description: String
}
struct Picture:Decodable{
var large : String
var medium: String
var thumbnail: String
}
为什么我会收到这个错误?谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。