• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-11 17:17:58 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

在 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 "
   }
}



Best Answer-推荐答案


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

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

super.textColor = ...

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

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap