文章目录
  1. 1. Obj-c与swift的语法比较和产生的新特性

Obj-c与swift的语法比较和产生的新特性

swift
其实是obj-c的变体,还是使用了ARC进行简单内存管理


一,基本语法

1,变量


obj-c:

     Type *typeInstance;

    NSString *str = “”;

     NSString *str2 = [NSString
stringWithFormat: “aaaa% “, “bbb”];

swift:

     var a;

    



swift
的变量类型可以在声明初始值中直接通过初始值类型来确定



2,常量

const  int a;


let a= 2

3,String


swfit 的String是架在foundation
的NSString类的上的

故如果在在使用foundation的NSString中使用swift的string类是可以的

比obj-c自定义String更方便


swfit
的String还有一些表示可以输出一些特殊字符,比如红心、黑心、美元符

String可以将字符进行迭代:




4,函数的定义


swift:

func (p1:int,p2:String)->int

{

  return p1

}


return fun

\

\

\

调用:

func(2,”B”)


定义的函数还是返回函数




obj-c:

-(int)testA:(NSString *)p1 param2: (int)
p2

{

     return 250;

}



5,类的定义

不再分头文件和m文件了

构造函数还是init



二,swift with cocoa


1,IBOutlet,IBAction

obj-c:



swift:

IBOutlet
weak
var
button:
UIButton!


IBAction func buttonTapped(AnyObject) {{style=”background-color: transparent; border: 0px; outline: 0px; vertical-align: baseline; font-family: Menlo, monospace; word-wrap: break-word;”}

  • println("button tapped!"){style=”background-color: transparent; border: 0px; outline: 0px; vertical-align: baseline; font-family: Menlo, monospace; word-wrap: break-word;”}
  • }{style=”background-color: transparent; border: 0px; outline: 0px; vertical-align: baseline; font-family: Menlo, monospace; word-wrap: break-word;”}


文章目录
  1. 1. Obj-c与swift的语法比较和产生的新特性