swift conversion方法


  • 基础知识
  • swift 是strong type的面相对象语言。
    和objective c比起来最大的差别是objective c是基于消息急着的,每个方法的调用都是向对象发送了一个消息。而且object c允许向空对象(nil)发送消息,相当于调用其它语言null object的方法;而这在其它语言里面是不被允许的,会抛异常。 和比如c++ 相比最大的差别是,c++中通过指针来间接指向对象。而在swift中通过optional,而且optional的语法比较怪。
    苹果官网的这篇 swift tuor可以帮助你学习swift的基本语法。学会这些基本语法基本可以开始coding,遇到不会的可以google一下或者查 guide 和 reference
    此外,对wrap/unwrap, implicit optional, optional chain 最好额外仔细学一下
    转化步骤
    这篇文章中讲到如何在swift 中调用objective c,或者如何在objective c中调用 swift。
    我们最好只在swift中调用objective c。因为我们的项目已经分层UI->BLL –>Data Access。所以我们可以逐层进行转换。先把UI层的controller转化成swift;然后把UI层的View转换成swift;然后把BLL层转换成swift;然后把Data Access层转换成swift,最后把通用的Utility转换成swift,最后再做优化代码清理。
    不需要在一个sprint中把工作全部做完,可以分到几个sprint里面。
    常见问题
  • 在转换的过程为了提高速度可以用一下工具,网站把oc代码自动转换成swift再做修改;不过这些工具一般有bug,会有各种问题,需要手动修改。下面是几个工具
    https://objectivec2swift.com/#/converter/
    https://iswift.org/try
  • debug中比较容易遇到的问题是在oc中调用空指针的方法是允许的,但在swift中会出异常EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值