若是你會Object-C,也會Swift,那麼這個你必看swift
計時器調用的方法不能用private修飾閉包
Swift除了閉包不須要用self.ui
/// -------------- 添加敲擊事件 ---------------
let myGesture = UITapGestureRecognizer(target: self, action: #selector(ViewController.clickHaloLabel(_:)));
// 給誰添加手勢
<#Who#>.addGestureRecognizer(myGesture);
// 手指數
myGesture.numberOfTouchesRequired = 1;
// 敲擊次數
myGesture.numberOfTapsRequired = 1;
// label 用戶交互默認關閉
haloLabel.userInteractionEnabled = true;spa
/// 點擊 label 調用此方法
@objc private func clickHaloLabel(sender:UITapGestureRecognizer) {
// 條件爲真不執行, 若是爲假, 就執行
guard sender.self.view!.isKindOfClass(NSClassFromString("<#父類/UILabel#>")!) else {
return;
}
// 轉換一下 就獲取到了咱們要的
let label = sender.self.view as! <#父類/UILabel#>;
}.net
Type 'ViewController' does not conform to protocolcode
swift 發生這種異常的緣由是沒有完成datascore的協議,把協議的方法完成就不會報錯了。orm
學自此處對象
// 懶加載數組
private lazy var dataArray: NSArray = {
return ["死亡筆記","爆漫王","端腦","某科學的超電磁炮","將來日記","灼眼的夏娜","斬赤紅之瞳","玩偶殺人遊戲"];
}()blog
// 範圍運算符
// a..<b a 到 b 之間的數字, b 取不到, a 取獲得
// a...b a 到 b 之間的數字, 兩端都取獲得
for i in 1..<3 {
print("\(i)");
}
// Int 類型的數組 var array: [Int] = [];
// 根據 tag 獲取控件 let object = view.viewWithTag(<#T##tag: Int##Int#>);
若有錯誤歡迎指出.
待續~