objective-c - 使用swift加入之前的oc项目,求经验,求坑分享?
过去多啦不再A梦
过去多啦不再A梦 2017-04-28 09:05:48
0
1
599

项目配比

ios 2人,android 3人!

背景

之前的IOS端项目是使用OC开发的,已经到了2.0版本了,本人现在是做android客户端,但现在想加速ios的开发进度,所以,我决定使用swift参与到ios项目中。

遇到的问题

因为没有过类似的经验,所以想请教下过来人,如何用swift杀入现有的oc项目。特别是UI这块的融入,以及OC之前封装的一些工具的调用。

过去多啦不再A梦
过去多啦不再A梦

Antworte allen(1)
大家讲道理
  • 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之前,应该让整个团队的所有人都知道这是怎么回事。

错误指出请指出:)

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage