ios開發——swift
阿新 • • 發佈:2018-12-23
1.閉包
閉包在swift 中屬於引用型別, 因此在閉包中引用類的時候需要注意 弱引用。
block:{
[weak self ] _ in if let StrongSelf = self{
strongSelf.fun() /// 引用控制器的方法, 會互相引用 ,[weak self] 捕捉列表 self 捕捉物件
}
}
2. ios 傳值
一般傳值為設定委託
具體方式 1.a 委託 b 做動作 則a為實現方法的一方 , b為方法的一方 例如 a為頁面導航 a新增到b上 , a要實現重新整理b上的資料
那麼a上設定一個重新整理的控制按鈕,而方法的定義是寫在協議裡,b遵守協議的方法,a呼叫方法
/// 設定委託協議
protrcol reloaddataDelegate{
func loadData()
}
/// 導航 虛擬碼
class a: uiview{
var delegate: reloaddataDelegate?
delegate?.loadData()
}
class b: uiViewController , reloaddataDelegate{
let text = a()
text.delegate = self
/// 遵守協議
func loadData(){
/// 設定內容主體
}
}
3.預設
self 控制器 uiviewcontroller
self.view 的size是動態的 , 當狀態列發生變化 , 底部會出現黑框 ,解決方法 ,self.view上鋪設一層view