gpt4 book ai didi

ios - 从任何 VC 获取协议(protocol)定义的变量值

转载 作者:行者123 更新时间:2023-11-29 11:54:14 27 4
gpt4 key购买 nike

协议(protocol)(我的协议(protocol)):-

 protocol myProtocol {
var type:String { get set }
var sub:String { get }
var msg:String? { get set }
}

类(myVC):-

class myVC: UIViewController, myProtocol {
//Protocol Declarations
var sub = myTypes.type.rawValue
var type = myTypes.type.getType()
var msg :String?

.... }

扩展名:-

extension UIViewController
{
func getData() {
if self is myProtocol {
let msg = self.msg

} }
}

在“self.msg”处出现错误,提示 UIViewController 类型的值没有成员“sub”

我该怎么做?感谢您的帮助。

最佳答案

您需要做的就是在您的扩展类中再写一行代码。我刚刚对它进行了测试,它对我有用。这是我写的代码 -

extension UIViewController
{
func getData() {
if self is myProtocol {
let x = self as! myProtocol
let msg = x.msg
print(x.msg)
}
}
}

关于ios - 从任何 VC 获取协议(protocol)定义的变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39794184/

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