簡介代碼可以幫助我們更高效的在項目中進行開發(fā)泽谨,在OC中有很多語法糖,而Swift中代碼的簡介性像是運用到了極致,所以有些語法需要簡單記憶一下等龙,此篇簡單總結(jié)一些常用代碼進行說明处渣。
代碼示例eg:
var imageUrl: String?
/*聲明了一個可選的字符串類型變量imageUrl。
在Swift中而咆,可選類型表示該變量可能包含值霍比,也可能為nil。這是處理空值的一種安全方式暴备。
*/
解讀:
var關(guān)鍵字表示變量是可變的悠瞬,也就是說,在后續(xù)代碼中可以修改它的值涯捻。
imageUrl是變量名浅妆,遵循Swift的命名規(guī)則。
String?表示imageUrl的類型是可選的字符串類型障癌。
這個聲明告訴Swift編譯器凌外,你有一個變量叫做imageUrl,它可能包含一個字符串或者沒有包含任何值(即nil)涛浙。這是Swift中處理空值的一種安全方式康辑,它可以在編譯時防止你不小心使用了未定義的值。
新建View示例:
let newView = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
newView.backgroundColor = .red
view.addSubview(newView)
// 注:新的UIView實例轿亮,并設(shè)置了它的frame疮薇、背景色,然后將其添加到當(dāng)前視圖view中我注。
// 如果你看到addSubview($0)這樣的代碼按咒,可能是在使用一個高階函數(shù)或者閉包,例如:
[UIView(), UIView()].forEach {
$0.frame = CGRect(x: 0, y: 0, width: 100, height: 100)
$0.backgroundColor = .blue
view.addSubview($0)
}
swift -懶加載創(chuàng)建view
// 只有外界訪問到headerView的時候才會去執(zhí)行閉包, 然后將閉包的返回值賦值給headerView
// 注意: 一定要記住閉包后面需要寫上(), 代表執(zhí)行閉包
//懶加載創(chuàng)建UIView
lazy var headerView: UIView = {
let view = UIView()
view.frame = CGRect(x: 0, y: 0, width: Tools().SCREEN_WIDTH, height: 100)
view.backgroundColor = UIColor.redColor()
return view
}()
自定義View
class MyCustomView: UIView {
// 使用lazy關(guān)鍵字來創(chuàng)建懶加載屬性
lazy var customSubview: UIView = {
let view = UIView()
view.backgroundColor = .red
// 進行其他配置...
return view
}()
override init(frame: CGRect) {
super.init(frame: frame)
commonInit()
}
required init?(coder: NSCoder) {
super.init(coder: coder)
commonInit()
}
private func commonInit() {
// 在這里添加懶加載的subview
addSubview(customSubview)
// 設(shè)置約束或其他初始化配置...
}
override func layoutSubviews() {
super.layoutSubviews()
// 確保懶加載的subview已經(jīng)被加載
_ = customSubview
// 進行布局...
}
}