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;”}