84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
项目配比
ios 2人,android 3人!
背景
之前的IOS端项目是使用OC开发的,已经到了2.0版本了,本人现在是做android客户端,但现在想加速ios的开发进度,所以,我决定使用swift参与到ios项目中。
遇到的问题
因为没有过类似的经验,所以想请教下过来人,如何用swift杀入现有的oc项目。特别是UI这块的融入,以及OC之前封装的一些工具的调用。
swift优秀的类型检测,刚开始可能会让你很不适应,各种麻烦的判断和处理!但是适应以后,你会发现,你从未对自己写的程序如此放心
发布包回比之前至少增加6M的大小,因为需要将swift运行时库打包进去
6M
只需要增加一个头文件,之前所有objective-c写的东西都可以放心地直接使用
一旦你开始使用之前objective-c写的东西,你很有可能想用swift重写它,因为objective-c缺少很多类型校验能力,比如:swift这边调用objectForKey:方法通常会返回AnyObject,你就需要对此做类型转换
objectForKey:
swift会强迫你考虑所有逻辑上明显是错误的情况,这样可以降低运行时出错的几率;但是也因此,你会经常看到一些“莫名其妙”的报错,仔细阅读错误提示,你会发现你真的是错了
之前objective-c极大部分API都是相同的,苹果只是使用swift做了一层皮,内部还是调用objective-c,Fundation的实现在这里: https://github.com/apple/swift-corelibs-foundation
String != NSString
指针变量用起来会很麻烦....
整体来说,swift并没有提高开发的效率(也许开发效率更慢了),但是,当你的应用上线以后,你会发现,你从未对自己写的代码如此放心过,因为通过了编译的代码,意味着它已经避免了大部分的错误。混编会让项目变得复杂,如果是团队协作,使用swift之前,应该让整个团队的所有人都知道这是怎么回事。
错误指出请指出:)
swift优秀的类型检测,刚开始可能会让你很不适应,各种麻烦的判断和处理!但是适应以后,你会发现,你从未对自己写的程序如此放心
发布包回比之前至少增加
6M
的大小,因为需要将swift运行时库打包进去只需要增加一个头文件,之前所有objective-c写的东西都可以放心地直接使用
一旦你开始使用之前objective-c写的东西,你很有可能想用swift重写它,因为objective-c缺少很多类型校验能力,比如:swift这边调用
objectForKey:
方法通常会返回AnyObject,你就需要对此做类型转换swift会强迫你考虑所有逻辑上明显是错误的情况,这样可以降低运行时出错的几率;但是也因此,你会经常看到一些“莫名其妙”的报错,仔细阅读错误提示,你会发现你真的是错了
之前objective-c极大部分API都是相同的,苹果只是使用swift做了一层皮,内部还是调用objective-c,Fundation的实现在这里: https://github.com/apple/swift-corelibs-foundation
String != NSString
指针变量用起来会很麻烦
....
整体来说,swift并没有提高开发的效率(也许开发效率更慢了),但是,当你的应用上线以后,你会发现,你从未对自己写的代码如此放心过,因为通过了编译的代码,意味着它已经避免了大部分的错误。混编会让项目变得复杂,如果是团队协作,使用swift之前,应该让整个团队的所有人都知道这是怎么回事。
错误指出请指出:)