Swift与OC的区别

  1. 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 中,大多数情况下不需要分号
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift与OC的区别 1、基础篇 2、监听方法 OC 使用 @selector(actionName) Sw...
    LHsunshine阅读 1,077评论 0 0
  • Swift 介绍 简介 Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序 ...
    大L君阅读 3,304评论 3 25
  • (一) 瀑布的水逆流而上, 蒲公英种子从远处飘回,聚成伞的模样, 太阳从西方升起,落向东方。 子弹退回枪膛, 运动...
    苏冽阅读 312评论 1 6
  • 学习方式根据数据类型的不同,对一个问题的建模有不同的方式。在机器学习或者人工智能领域,人们首先会考虑算法的学习方式...
    土豆有点阅读 387评论 0 1
  • 最幸福的事情,莫过于,吃过晚饭,躺在沙发上,一不小心就睡着了!老公把厨房收拾好,过来抱我入睡,早上醒来,拖鞋就在脚...
    崔左岸烟逝阅读 204评论 0 0