gpt4 book ai didi

ios - 遵守 Swift 协议(protocol)

转载 作者:行者123 更新时间:2023-11-30 13:22:04 27 4
gpt4 key购买 nike

我是 Swift 开发的新手,在尝试做一些教程时遇到了困难(我知道,它们是一步一步的,但显然我一定在某个地方搞砸了,现在我无法弄清楚为什么它不起作用。我不太擅长调试,并且对该语言的基础缺乏扎实的理解。如果有人能帮助我指出正确的方向,我将不胜感激。

我尝试过对事物进行评论,试图使其尽可能“简单”,同时仍然能够“符合”,但目前我陷入了困境。

代码如下:

此类收到错误:

final class ForecastAPIClient : APIClient {

let configuration: NSURLSessionConfiguration
lazy var session : NSURLSession = {
return NSURLSession(configuration: self.configuration)
}()

private let token : String


init(config: NSURLSessionConfiguration, APIKey: String){
self.configuration = config
self.token = APIKey
}

convenience init(APIKey: String){
self.init(config: NSURLSessionConfiguration.defaultSessionConfiguration(), APIKey: APIKey)
}

func fetchCurrentWeather(coordinate: Coordinate, completion : APIResult<CurrentWeather> -> Void){
let request = Forecast.Current(token: self.token, coordinate: coordinate).request
}

}

尝试遵守此协议(protocol):

protocol APIClient{

var configuration : NSURLSessionConfiguration { get }
var session : NSURLSession { get }

init(withConfig: NSURLSessionConfiguration)

func JSONTaskWithRequest(request: NSURLRequest, completion: JSONTaskCompletion) -> JSONTask

func fetch<T>(request: NSURLRequest, parse: JSON -> T?, completion: APIResult<T> -> Void)

}

抱歉,如果这个问题已经得到解答。我搜索并阅读了其他一些帖子,但我仍然无法弄清楚。

提前致谢!

最佳答案

看起来您的类没有实现协议(protocol)中的两个方法:

func JSONTaskWithRequest(request: NSURLRequest, completion: JSONTaskCompletion) -> JSONTask

func fetch<T>(request: NSURLRequest, parse: JSON -> T?, completion: APIResult<T> -> Void)

此外,您的类还有一个具有以下签名的初始值设定项:

init(config: NSURLSessionConfiguration, APIKey: String)

当协议(protocol)需要时:

init(withConfig: NSURLSessionConfiguration)

关于ios - 遵守 Swift 协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37667103/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com