objective-c - 使用swift加入之前的oc项目,求经验,求坑分享?

  发布于 2022-10-25 18:00

项目配比

ios 2人,android 3人!

背景

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

遇到的问题

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

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之前,应该让整个团队的所有人都知道这是怎么回事。

    错误指出请指出:)

    2022-10-27 00:17 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有