
Objective-C中的很多知识点到了swift中都有了很大的改变,使得swift学习,或研发过程中有很多不适。
现在就将遇到过的差异列举出来(后续会不断进行完善)。
注意:
1、Objective-C工程中类文件有两个xxx.h文件,xxx.m文件,两者是配套出现的。
2、swift工程中类文件只有一个xxx.swift文件。
1、打印调试命令
Objective-C格式为:NSLog(@".....%@...",variable)
swift格式为:print("...\(variable)....")
2、格式分隔
Objective-C格式为:#pragma mark - XXX
swift格式为:// MARK: - XXX(注意:没有 - 符号时,不会有分隔线)
另外 // FIXME: - xxx 表示需要修复的异常代码;// Todo: - xxx 表示需要继续完成的代码
3、函数定义
Objective-C格式为:
- (voID)click:(UIbutton *)button{...}- (Nsstring *)click:(UIbutton *)button{...return xxx;}- (voID)click{...}swift格式为(注意:使用关键字 func):
fun click(button:UIbutton) -> VoID{...}func click(button:UIbutton,Title:String) -> String{...return xxx;}func click(){...}
swift中定义参数,使用关键字let,或var。使用let定义的为常量,且定义后不能修改值;而使用var定义的为变量,可以修改值。
let name = "DevZhang"let name:String = "DevZhang"var name = "DevZhang"name = "iOS DevZhang"
另外swfit中定义类对象时,不再使用符号*。
// Objective-CUIVIEw *vIEw = [[UIVIEw alloc] init];
// swiftlet vIEw = UIVIEw(frame: CGRectMake(10.0,10.0,200.0,200.0))
5、分号;的使用差异
Objective-C中,每个单独语句都需要以分号;来结束
swift中,每个单独语句,可用可不用分号;来结束,系统会做处理
6、布尔值定义
Objective-C中格式为:真为YES,或1;假为NO,或0
swift中格式为:真为true,假为false
7、文件的引用
Objective-C中引用格式为:#import <UIKit/UIKit.h>
swift中引用格式为:import UIKit
8、任意类型
Objective-C中的任意类型为:ID,即 ID object = xxxx
swift中的任意类型为:Any,或AnyObject,其中Any包括方法Selector,而AnyObject不包含方法Selector
总结以上是内存溢出为你收集整理的swift学习中与Objective-C的差异全部内容,希望文章能够帮你解决swift学习中与Objective-C的差异所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)