Swift与ObjC的初认识

我从2014年7月份开始接触iOS,当时iPhone主流的编程语言还是ObjC,ObjC的排名在Swift出现之前已经上升到了第三名。到现在我快有3年的开发经验了。我开发过3款app,用过即时通讯、富文本、Cocoa Pods、开发过微信表情栏、签到系统、一些复杂动画比如可以加速减速的转盘,贝塞尔曲线封装的进度弧、开发过视频的切片上传、视频的竖屏横屏播放及缩小播放器窗口的播放、视频在tableview单元格中自动播放等等功能。

当时开发这些项目的时候觉得挺难的,不知道能不能开发出来,但后来这些功能都一一被我弄出来了,弄出来之后心里还挺有成就感的,突然感觉当时很难的东西也不那么难了。

不过最近换工作了,要开始用Swift编程。目前,当我看过Swift工程后我对Swift和ObjC之间有了几个小认识。

第一、Swift看上去比较简洁,Swift工程轻了许多。

我发现Swift工程里的Storyboard用了很多xib,好像每一个页面就对应一个xib。我之前编写ObjC程序的时候就只不过是每个标签页控制器对应一个xib,其他要跳转的控制器都是用代码写的。

第二、Swift语法有点怪。

Swift语法看上去像脚本语言,没有对象指针,没有了*。也没有了发消息的方括号[ ],倒是出现了很多点。ObjC像Xerox PARC在1972年开始开发的Smalltalk,我已经适应了类、消息这些概念,现在突然弄像脚本语言一样的Swift还是感觉突兀的。而且从Swift3.0开始,NSFoundation框架中很多类都被改写成了结构体,比如说类NSString,现在变成了结构体的Sting,结构上比以前更轻了,但很多NS被去掉了,而且也不是类了是结构体。我现在可以反过来猜为什么脚本语言这么简洁,不像ObjC一个方法的声明就那么长的一段?大概是因为以前计算机与MODEM的接口是串行的吧,传输信息是一位一位传,所以要尽可能简洁,要不然在网速不快的年代打开一个网页要很长时间。嗯,不过现在双绞线都已经变成光纤了,每秒可以传几百万位呢。真是“今人不见古时月,今月曾经照古人”啊。

第三、Swift与ObjC有很多相似处

我看到Swift中还用MVC,这让我很欣慰。我还发现一些代理还在,比如tableview的"numberOfRowsInSection"、"cellForRowAt indexPath: IndexPath"都还在。其他的呢就是语法上比ObjC更加简化了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值