gpt4 book ai didi

ios - 在 Swift 3 中将类与具有相同名称的实例成员区分开来

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:58:11 25 4
gpt4 key购买 nike

在 Swift 3 中如何区分实例成员和同名的类成员?以前正常工作的现在会在 Xcode 8 beta 5 中产生错误:

"static member 'textColor' cannot be used on instance of type UITag"

public class UITag : UILabel {

static var textColor = UIColor.white

override public init(frame: CGRect) {
super.init(frame: frame)

textColor = UITag.textColor /* error: static member cannot be used on instance of type UITag */
text = " not set "
}
}

最佳答案

这是一个奇怪的错误,我们可以讨论它是否是一个编译器错误,它实际上允许用静态变量隐藏非静态变量,但是请注意,具有相同的两个属性绝对是错误的代码name,一个是静态的,一个不是静态的,因为最后一个会遮挡前一个。 defaultTextColor 可能是一个更好的名字。

一个简单的解决方法是使用:

super.textColor = ...

关于ios - 在 Swift 3 中将类与具有相同名称的实例成员区分开来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39020146/

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