美文网首页
Swift小tips

Swift小tips

作者: 么么木木 | 来源:发表于2017-02-06 15:23 被阅读7次

便利构造函数:1>convenience开头,没有返回值 2>在构造函数中必须明确调用一个设计的构造函数(self)

![Snip20170106_3.png](https://img.haomeiwen.com/i1673100/7c8aa8d55e177a37.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

参数后面的= 是设置默认值,调用的时候可以只调用自己需要的参数

重写或自定义构造函数必须同步重写
required init?(coder aDecoder: NSCoder 函数

delegate 用weak修饰

闭包里面使用self避免循环引用用[weak self] in 或者 [ unowned self ] in

如果需要collectionView
根据父控件的大小而变化,
collectionView.autoresizingMask = [.flexibleWidth , .flexibleHeight]

协议的遵守

swift中协议是可以被类,结构体,和枚举所遵守的,所以在定义的时候可以定义为只被类准守: :class

这时修饰delegate的属性是weak 为了避免循环引用,

协议的方法默认是必须实现的,如果是可选实现的要加 optional参数,并且在协议前面要加@objc,在optional前也要加@objc

Snip20170113_1.png

逃逸闭包
@escaping 在swift开发中,闭包如果不是在当前方法中直接使用,而是在其他的闭包或者方法中使用,就必须加@escaping关键字,表示逃逸闭包

闭包内部解决循环引用的问题:[weak self] [unowned self]

Snip20170113_2.png

尾随闭包
如果方法的最后一个参数是闭包,可以该写为尾随闭包,就是将大括号中的闭包内容从小括号中抽离,放到方法后面

Snip20170113_3.png

如果闭包是唯一的参数,可以将()省略

Snip20170113_4.png

相关文章

网友评论

      本文标题:Swift小tips

      本文链接:https://www.haomeiwen.com/subject/ajcuittx.html