作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在 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/
我是一名优秀的程序员,十分优秀!