1个月的业余时间能做什么事

留给自己的纪念,给自己点压力,也给自己点动力!

目标:1个月内学习swift 并使用swift重构工银现金快线。


阅读开源项目


一.函数标记 : 
(1)override func  (复写,重载 )
代表:重载方法 
例子:
   override func viewDidLoad() {
        super.viewDidLoad()
        
        view.backgroundColor = UIColor.hexInt(0xf3f3f3)
        
        // 设置空视图图片
        noDataImg = UIImage(named: "noData_play_history")
        
        // 设置空视图状态
          configEmptStatus()
    }




(2)escaping 逃离函数闭包 相当于block


(3)as 类型转换  是否 as左边是否为as右边相同类型或者子类 


(4)fileprivate let (文件私有) 相当于当前文件的宏定义,用于定义全局的字符串宏
private: 私有属性和方法,仅在当前类中可以访问,不包括分类;
fileprivate: 文件内私有属性和方法,仅在当前文件中可以访问,包括同一个文件中不同的类。




(5)lazy var (懒加载) 


(6)extension (扩展)
增加计算实例属性和计算类型属性
定义实例方法和类型方法
提供新的初始化器
定义下标
定义和使用新的内置类型
让一个存在的类型服从一个协议


(7)required init() {}
1、required修饰符只能用于修饰类初始化方法。
2、当子类含有异于父类的初始化方法时(初始化方法参数类型和数量异于父类),子类必须要实现父类的required初始化方法,并且也要使用required修饰符而不是override。
3.当子类没有初始化方法时,可以不用实现父类的required初始化方法。


(8) @IBOutlet weak var (xib连线一个控件)


(9) guard 
与if语句相同的是,guard也是基于一个表达式的布尔值去判断一段代码是否该被执行。与if语句不同的是,guard只有在条件不满足的时候才会执行这段代码。你可以把guard近似的看做是Assert,但是你可以优雅的退出而非崩溃。
1.是对你所期望的条件做检查,而非不符合你期望的。又是和assert很相似。如果条件不符合,guard的else语句就运行,从而退出这个函数。
2.如果通过了条件判断,可选类型的变量在guard语句被调用的范围内会被自动的拆包 - 这个例子中该范围是fooGuard函数内部。这是一个很重要,却有点奇怪的特性,但让guard语句十分实用。
3.对你所不期望的情况早做检查,使得你写的函数更易读,更易维护。




(10)  didSet   willSet (kvo底层实现)


(11)   @objc func 添加标记 因为oc是运行时demo,swift在编译时就决定相关事情,如果混编时需要运行时runtime获取swift相关类或者函数时,就需要@objc标识修饰,,,继承NSObject的类不需要@objc修饰,系统自动添加修饰符


 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值