- OC
UIView *redView = [[UIView alloc]initWithFrame:CGRectMake(0, 30, 100, 100)];
redView.backgroundColor = [UIColor redColor];
[self.view addSubview:redView];
Swift
let a = 10; let b = 20
// 定义一个常量,视图
let v = UIView(frame: CGRect(x: 0, y: 20, width: 100, height: 100))
v.backgroundColor = UIColor.redColor()
// 调用方法统一使用 .
self.view.addSubview(v)
2. OC 类方法
[UIColor redColor];
Swift UIColor.redColor
UIColor.redColor
3. OC 的枚举 UIButtonTypeContactAdd
Swift 中 UIButtonType.ContactAdd
1> 可以直接省略前缀 .ContactAdd,但是 Xcode 的智能提示有的时候不给力
2> 如果没有智能提示,可以直接 `回车`,`->`,`.`
4. 监听方法
OC 使用 @selector(actionName)
Swift 直接使用字符串,提示:可以先用智能提示敲出方法名,然后增加引号
oc
-(void)test{
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button addTarget:self action:@selector(didClick:) forControlEvents:UIControlEventTouchUpInside];
}
-(void)didClick:(UIButton*)button{
}
swift
// 创建按钮
let btn = UIButton(type: UIButtonType.ContactAdd)
v.addSubview(btn)
// 监听方法
btn.addTarget(self, action: "clickButton", forControlEvents: .TouchUpInside)
}
func clickButton(btn: UIButton) {
print(__FUNCTION__)
print(btn)
}
如果有参数直接增加 ':'
5. 没有分号 - 在程序语言中,`;` 用于拆分语句,表示一个完整的语句结束
Swift 中,大多数情况下不需要分号