如果你会Object-C,也会Swift,那么这个你必看
Swift除了闭包不需要用self.
Swift中的方法
Swift中定义全局属性
Swift中敲击手势和获取对象
/// -------------- 添加敲击事件 ---------------
let myGesture = UITapGestureRecognizer(target: self,action: #selector(ViewController.clickHaloLabel(_:)));
// 给谁添加手势
<#Who#>.addGestureRecognizer(myGesture);
// 手指数
myGesture.numberOfTouchesrequired = 1;
// 敲击次数
myGesture.numberOfTapsrequired = 1;
// label 用户交互默认关闭
haloLabel.userInteractionEnabled = true;
/// 点击 label 调用此方法
@objc private func clickHaloLabel(sender:UITapGestureRecognizer) {
// 条件为真不执行,如果为假,就执行
guard sender.self.view!.isKindOfClass(NSClassFromString("<#父类/UILabel#>")!) else {
return;
}
// 转换一下 就获取到了我们要的
let label = sender.self.view as! <#父类/UILabel#>;
}
Swift中的 pragma
Swift中设置数据源
Type 'ViewController' does not conform to protocol
swift 发生这种异常的原因是没有完成datascore的协议,把协议的方法完成就不会报错了。
Swift中懒加载数组
// 懒加载数组
private lazy var dataArray: NSArray = {
return ["死亡笔记","爆漫王","端脑","某科学的超电磁炮","未来日记","灼眼的夏娜","斩赤红之瞳","玩偶杀人游戏"];
}()
Swift中for循环
// 范围运算符
// a..<b a 到 b 之间的数字,b 取不到,a 取得到
// a...b a 到 b 之间的数字,两端都取得到
for i in 1..<3 {
print("\(i)");
}
Swift中声明指定类型的数组
// Int 类型的数组 var array: [Int] = [];
Swift中根据tag获取控件
// 根据 tag 获取控件 let object = view.viewWithTag(<#T##tag: Int##Int#>);
如有错误欢迎指出.
待续~