Obj-c与swift的语法比较和产生的新特性
Obj-c与swift的语法比较和产生的新特性
obj-c swfit
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) {
println("button tapped!")}

