swift入门学习-与Objective-c的对比

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // swift 中 () 代替 oc 中的 alloc / init
        let v = UIView(frame: CGRect(x: 0, y: 20, width: 100, height: 100))

        // [UIColor redColor];
        v.backgroundColor = UIColor.redColor()

        // 按钮
        let btn = UIButton(type: .ContactAdd)
        v.addSubview(btn)

        // 监听方法
        btn.addTarget(self, action: "click:", forControlEvents: .TouchUpInside)

        view.addSubview(v)
    }

    func click(btn: UIButton) {
        print("点我了 \(btn)")
    }
}

区别总结:
  • 在 Swift 中没有了 main.m@UIApplicationMain 是程序入口
  • 在 Swift 中只有 .swift 文件,没有 .h/.m 文件的区分
  • 在 Swift 中,一个类就是用一对 {} 括起的,没有 @implementation 和 @end
  • 每个语句的末尾没有分号,在其他语言中,分号是用来区分不同语句的
    • 在 Swift 中,一般都是一行一句代码,因此不用使用分号
  • 与 OC 的语法快速对比
    • 在 OC 中 alloc / init 对应 ()
    • 在 OC 中 alloc / initWithXXX 对应 (XXX: )
    • 在 OC 中的类函数调用,在 Swift 中,直接使用 .
    • 在 Swift 中,绝大多数可以省略 self.,建议一般不写,可以提高对语境的理解(闭包时会体会到)
    • 在 OC 中的 枚举类型使用 UIButtonTypeContactAdd,而 Swift 中分开了,操作热键:回车 -> 向右 -> .
      • Swift 中,枚举类型的前缀可以省略,如:.ContactAdd,但是:很多时候没有智能提示
    • 监听方法,直接使用字符串引起
    • 在 Swift 中使用 print() 替代 OC 中的 NSLog
时间: 2024-10-11 03:32:38

swift入门学习-与Objective-c的对比的相关文章

Objective C 快速入门学习五

<一>继承和多态 @class Complex 声明类(同C++) 子类函数成员 super 访问父类 同C++类似 1.通过继承 在子类中添加新方法 2.通过继承 在子类中添加新成员 3.通过继承 实现多态(实现比较简单,通过Id通用类型作为父类) 4.重载 5.抽象类abstract作用:创建子类更容易:提供了处理所有派生子类的公共接口:抽象方法制定了标准协议,规范子类必须实现. 6.通用类型id,编译时不会做类型检查,在运行时才会动态绑定具体类型,指出错误. 静态类型在编译阶段就会指出错

Objective C 快速入门学习二

Objective-C 类.对象.方法 1.编写一个复数类: #import <Foundation/Foundation.h>@interface Complex: NSObject //类声明,Complex继承NSObject { int iReal;//成员变量声明,在括号内 int iImag; } //成员函数声明,在括号外 -(void) print; -(void) setReal : (int) n; -(void)setImag : (int) d; @end //@int

Objective C 快速入门学习三

1.数据类型 和C语言基本一样. 有一个特别数据类型id,可以储存任何类型的对象,它是实现多态和动态绑定的基础. Objective-C 2.程序结构 Objective-C和C的程序结构一模一样,具体用法相同. 顺序.循环.选择 3.基本上Objective-C兼容了C语言所有特点,包括数组.结构.字符串.联合,它们不是对象,面向过程式.建议直接使用相关框架下的相关类,面对对象编程. Objective C 快速入门学习三

Objective C 快速入门学习四

类 1.合成存取器方法 @property   成员变量 @synthesize 成员变量 可以让编译器自动合成 设置和获取函数的方法,不用手动生成set成员变量,Get成员变量 @interface Complex : NSObject { int iReal,iImag; } @property  int iReal, iImag;  //合成存取器方法,第一部:@property标识属性 -(void)print; @end @implementation Complex @synthes

Objective C 快速入门学习一

Objective-C程序设计 1. 直接用Xcode作为IDE,舍弃gcc编译方面的学习.2. 入门例子:Eg:打印Hello World 控制台程序 #import<Foundation/Foundation.h> //导入Foundation.h头文件.//头文件后缀.h,源文件后缀.m,Objective-C++后缀.mm. int main(int argc, const char* argv[])//主函数(和C/C++相同, // 和/* 内容 */表示注释符号){      N

Android &amp;Swift iOS开发:语言与框架对比

转载自:http://www.infoq.com/cn/articles/from-android-to-swift-ios?utm_campaign=rightbar_v2&utm_source=infoq&utm_medium=articles_link&utm_content=link_text 从Android到Swift iOS开发:语言与框架对比 我从2009年开始做Android开发,开始接触Swift是在2014年底,当时组里曾经做过一个Demo App,感觉技术还

Swift入门教程:基本语法(三)

打印输出 Swift提供了2个打印输出函数 println :输出内容后会自动换行 print :对比println,少了个自动换行的功能 示例 输出字符串 println("欢迎学习传智播客iOS学院Swift教程") var name = "传智播客iOS学院\n" print(name) 输出其他数据类型 var age = 7 println(age) println("我今年\(age)岁") 元组类型 什么元组类型 元组类型由 N个

Swift入门篇-结构体

前面主要是介绍swift语言中基本类型的用法,今天给大家介绍的是swift的结构体的用法,swift中结构体的用法和其他语言的用法,还有不太一样,不过您多敲几遍,就可以理解结构体,结构体在ios开发中是灰常重要的一部分,如果您很好的掌握结构体,在后面ios开发中,会理解的更加清楚. 一:结构体声明 格式: struct 结构体名 { } 说明: 1: struct 是定义结构体的关键字 例子 /* 1:struct 是结构体的关键字 2:student 结构体名称 3:student() 创建一

iOS开发——技术精华Swift篇&amp;Swift 2.0和Objective-C2.0混编之第三方框架的使用

Swift 2.0和Objective-C2.0混编之第三方框架的使用 swift 语言是苹果公司在2014年的WWDC大会上发布的全新的编程语言.Swift语言继承了C语言以及Objective-C的特性,且克服了C语言的兼容性问题.Swift语言采用安全编程模式,且引入了多种新功能,使得编程工作更加简便,灵活! 2015年6月9日苹果又一次给所有开发之者带来了一个惊喜,那就是今年年底swift讲开源,者队iOS开发着来说无疑是一个值得兴奋的消息,可是就在这短短的几个月里面swift吸引了越来