mingbobob 2015-12-19 08:00 采纳率: 63.6%
浏览 6190
已采纳

swift怎么重写父类的init方法

我想重写UITextFiled的方法,在init(frame)上加一个参数,init(frame:CGRECT,uiviewcontroller:UIViewController)请问如何重写

  • 写回答

2条回答 默认 最新

  • Poppin_Category 2015-12-20 04:51
    关注

    重写是相同方法的不同实现,参数不同方法就不同了,楼主是想重载,如下两个例子可以清晰表现用法和区别:

    例如UIView重写父类的init(frame: CGRect)方法:
    override init(frame: CGRect) {
    super.init(frame: frame)
    //do something what you want
    }
    重写的话swift规定不可以缺少这个request init方法:(编译器会自动提示)
    required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    fatalError("init(coder:) has not been implemented")
    }

    重载父类的init(frame: GCRect),增加一个新参数:
    init(frame: CGRect, type: String) {
    super.init(frame: frame)
    //do something what you want
    print(type)
    }

    最后附上截图:
    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64
  • ¥15 iOS 自定义输入法-第三方输入法
  • ¥15 很想要一个很好的答案或提示
  • ¥15 扫描项目中发现AndroidOS.Agent、Android/SmsThief.LI!tr
  • ¥15 怀疑手机被监控,请问怎么解决和防止
  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示