若是你会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#>);
若有错误欢迎指出.
待续~