/**
1. OC [UIView alloc] initWithXXX:]
Swift UIView(XXX:)
类名() == alloc / init 等价
2. 类方法
OC [UIColor redColor]
Swift UIColor.red
3. 访问当前对象的属性,可以不使用‘self.’
建议:都不用,在编译器提示的时候,在添加,会对‘语境’有更好地体会
原因:闭包(类似于OC中的block),需要使用‘self.‘
4. 没有’;‘
’;‘ 的目的是分割语句的,在Swift中,默认不需要。多个语句在一行的时候需要。
5. 枚举类型
OC UIButtonTypeContactAdd
Swift .contactAdd
6. 监听方法
OC @selector
Swift #selector() -- 3.0 有没有参数都不需要加‘:’,调试加‘:‘也是可以的,具体看下面demo
"clickMe","clickMe:" -- 2.0
7. 增加文档注释快捷键 option + cmd + /
8. 显示颜色面板 color + 回车
9. 取消了预编译指令
*/
class ViewController: UIViewController
{
// MARK: - 视图生命周期
// MARK: 视图加载完成
override func viewDidLoad()
{
super.viewDidLoad()
// 多个语句在一行就需要‘;‘隔开。单个语句默认不需要’;‘
let a = 10; let b = 20
print("a=\(a); b=\(b)")
// 1. 创建一个视图
let v = UIView(frame: CGRect(x: 20, y: 40, width: 100, height: 200))
// 设置背景色
v.backgroundColor = UIColor.red // TODO: 应该设置新的颜色
// v.backgroundColor = #colorLiteral(red: 0.7450980544, green: 0.1568627506, blue: 0.07450980693, alpha: 1)
// 添加到当前视图
view.addSubview(v)
// 2. 创建一个按钮
let btn = UIButton(type: .contactAdd);
btn.frame = CGRect(x: 0, y: 0, width: 60, height: 30)
btn.center = CGPoint(x: v.frame.size.width * 0.5, y: v.frame.size.height * 0.5)
// 方法 clickMe 不带参数的写法
btn.addTarget(self, action: #selector(clickMe), for: .touchUpInside)
// 方法 clickMe(btn: UIButton) 带参数的下面两种写法都可以,调试没有发现问题
btn.addTarget(self, action: #selector(clickMe1(btn:)), for: .touchUpInside)
btn.addTarget(self, action: #selector(clickMe1), for: .touchUpInside);
v.addSubview(btn)
let lv = UIImageView(image: #imageLiteral(resourceName: "contact_checked")); // FIXME: 应该更改图像
view.addSubview(lv)
}
func clickMe() -> ()
{
print(#function)
print("hehe")
}
func clickMe1(btn: UIButton) -> ()
{
print(#function)
print("hehe")
print("btn=\(btn)")
}
}