闭包中解决循环引用的三种方式
方式一:
weak var weakself = self
tool.loadData { (jsonData) -> ( ) in
weakself?.view.backgroundColor = UIColor.redColor ( )
方式二:(推荐)
tools.loadData { [weak self] ( jsonData) -> ( ) in
self?.view.backgroundColor = UIColor.redColor ( )
方式三:
tools.loadData {[unown self] (jsonData) -> ( ) in
self.view.backgroundColor = UIColor.redColor
如果闭包作为方法的最后一个参数,那么闭包可以把( )去掉
tableview的使用
创建log
获取打印所在的文件
let file = (FILE as NSString) . lastPathComponent
获取打印所在的方法
let funcName = FUNCTION
获取打印所在行数
let lineNum = LINE
print("(file):(funcName))-123")
写一个公共函数:
func XMGLog<T>(message : T, file : String = FILE , funcName : String = Function, lineNum : Int = LINE) {
#If DEBUG
let fileName = (file as NSString) . lastPathComponent
print("(fileName) : ( \ (lineNum)) - \ (message)")
endif
}
网友评论