前端之家收集整理的这篇文章主要介绍了
Swift和Objective-C的不同,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
声明类
Objective-C
[<#Content#> class]
------------------------------------------------------------------------
Swift
<#content#>.self
打印一个对象所属类型
Objective-C
// 打印一个对象所属类型
NSLog(@"%@",[object class]);
Swift
// 打印一个对象所属类型
print("返回的类型是:--->\(<#object#>.dynamicType )");
拿到AppDelegate
Objective-C
// 拿到 AppDelegate
AppDelegate *tempAppDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
-----------------------------------------------------------
Swift
// 拿到 AppDelegate
let tempAppDelegate = UIApplication .sharedApplication().delegate as! AppDelegate;
反序列化
Objective-C
// 苹果自带反序列化 返回类型id
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error:&error];
-------------------------------------------------
Swift
do {
// 苹果自带反序列化
let dict = try NSJSONSerialization.JSONObjectWithData(jsonData!,options: .AllowFragments)
// 继续下一步操作
} catch {
print(error);
}
类型转换和判断
Objective-C
// 类型判断
if ([<#object#> isKindOfClass:[<#Class#> class]]) {
// 类型转换
<#Class#> *<#Name#> = (<#Class#> *)<#object#>;
}
-------------------------------------------------
Swift
// 判断 类型
if <#object#>.isKindOfClass(<#Class#>) == false {
return;
}
// 类型转换
let <#Name#> = <#object#> as! <#Class#>;
dealloc/控制器被释放
Objective-C
// 控制器被释放时 调用此方法
- (void)dealloc {
printf("控制器释放");
}
-------------------------------------------------
Swift
// 析构器方法 类似于Object-C的 dealloc
deinit {
print("控制器释放");
}
获取字符串长度
Objective-C
// 获取字符串长度
string.length
-------------------------------------------------
Swift
// 获取字符串长度
string.characters.count