gpt4 book ai didi

ios - 在 Swift 中将类属性添加到协议(protocol)

转载 作者:搜寻专家 更新时间:2023-11-01 06:52:14 24 4
gpt4 key购买 nike

我想要一个有变量的协议(protocol)。符合该协议(protocol)的类应该像“普通”变量一样使用它。我想要的是这样的:

protocol MyProtocol {
var foo: Int
}

class A {}
extension A: MyProtocol {
var foo: Int!
}

上面的代码无法编译,我只想展示我想要实现的点。

我结束了这个,但我想一定有更好的方法:

enum NextController {
case AuthSelection
case Main
}

protocol SmsEntryPresenterProtocol {
var nextController: NextController { get set }
}

class SmsEntryPresenter {

var _nextController: NextController!
weak var view: SmsEntryViewProtocol?

}

extension SmsEntryPresenter: SmsEntryPresenterProtocol {

var nextController: NextController {
get {
return _nextController
}
set {
_nextController = newValue
}
}
}

最佳答案

您可以按以下方式解决此问题,

class SmsEntryPresenter {

var nextController: NextController = .Main
weak var view: SmsEntryViewProtocol?

}

extension SmsEntryPresenter: SmsEntryPresenterProtocol {}

关于ios - 在 Swift 中将类属性添加到协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56426426/

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