gpt4 book ai didi

ios - 如何将 "A"转换为 "A conforms to protocol B"?

转载 作者:行者123 更新时间:2023-11-29 01:04:46 24 4
gpt4 key购买 nike

我这样声明协议(protocol)和扩展,

protocol FooProtocol: class {

}

extension FooProtocol where Self: UIView {

func changeAlphaToZero() {

self.alpha = 0

}

}

我试过像这样使用 changeAlphaToZero(),(只是一个例子。)

class MyClass {

func setViewAlphaToZeroIfNeeded(view: UIView) {

if let v = view as? FooProtocol {

v.changeAlphaToZero() // Compile Error "FooProtocol is not a subtype of UIView."

}

}

}

我可以将 view 转换为“UIView conforms to FooProtocol”吗?

最佳答案

我觉得应该是这样的:

protocol FooProtocol {
func changeAlphaToZero()
}


extension UIView: FooProtocol {

func changeAlphaToZero() {

self.alpha = 0

}

}

关于ios - 如何将 "A"转换为 "A conforms to protocol B"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36542192/

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