我就是零基础学习swift语言,之前是写javascript,学了有3-4天了吧,说下我的感受,和这个东西与前端开发的关系。

开始之前,写下这个答案我的主要观点: 可以跳过oc直接学习swift,一点问题没有的,只不过后期我觉得还是要学下oc,因为毕竟很多时候你用的都是oc写好的类,遇到bug了一点不会,太捉急了吧,还有不少教程都是以oc为例子的,看着也捉急~

看我下我拿swift写的demo……毫无违和感好么。。~

http://ww3.sinaimg.cn/bmiddle/62bfb217jw1ehg4havla3g208w0gctki.gif

http://ww3.sinaimg.cn/bmiddle/62bfb217jw1ehh5muu356g208y0dwqda.gif

http://ww1.sinaimg.cn/bmiddle/62bfb217jw1ehhatl90zfg208s0dynpe.gif 【代码地址下图】

http://ww4.sinaimg.cn/bmiddle/62bfb217jw1ehhatvusprj20or0kz78o.jpg

知乎的图片不支持gif啊- - 只有贴地址了

首先看swift的基础语法,了解了最基本的控制,变量,数据体,类与结构体,继承之后,开始可以写一些简单的命令行工具,说白了就是终端工具,打印log之类的没一点问题。

可惜,我们学习这个东西不是为了开发command line程序的,我用shell或者nodejs也挺好比这个上手还快。

所以紧接着第二天开始直接跳过command line程序编写ios app,也就是iphone程序。

然后我就觉得我他妈的掉进了一个深坑。

搜了一下 现成得swift教程做app的中文几乎没有,国外有几篇讲的是开发一个todolist的教程,写的和官方的那个oc的todolist教程差不多,但是从我开始做到最后结束跑到模拟器里,我他妈也没写上超过20行得swift。。。基本都是IB实现的界面,事件,换场以及控件的创建。

我琢磨那他妈的我用oc也是一样的,算了,ios开发莫非就只是拖拖控件?了解一下mvc的概念就ok?

于是我去github上开始搜索开源的swift项目,比如2048,还有那个flappy,还有一个天气app的软件。

看了几行源码我就特么的放弃了。倒不是看不懂,我发现都是基于cocoa的,什么cocoa呢?我又去搜了一下,说了我是ios开发小白一点经验没有,然后我发现又是他妈的一个深坑啊。。cocoa的api都是oc编写的啊,swift是可以直接调用没的问题,可是cocoa的功能实在太多了啊。。

最他妈主要的是cocoa的帮助手册例子代码,api都他妈的是oc的api啊……我完全不会oc,我说了我是零基础,然后我在思考,我是否需要去学习下oc回来才能看懂那些api到底是怎么调用?那么多开源包都是些什么东西?

卧槽,那我学会了oc,我还学swift干啥呢?

不是说不用学oc了么……我特么的学swift就是为了不想了解oc啊。结果呢。

你不会oc也就是写写command line程序啊……我去你大爷的啊- -。

还有,xcode功能如此强大,我感觉如果自己写着玩,根本啥也不用学好么,鼠标拽拽一个app就出来了啊。。

而专家级呢?我觉得大部分得oc库,类都还都是oc的,你用swift可以调用,但是如果有bug呢?你想看内部实现呢?商业项目中这种开源坑遇到太多了,难道你就只用swift搞定么?

不太可能,也根本不可能,大家的代码都是oc的,底层是oc的,表现层也是,那么你swift到底是干什么用的呢?

===================================================

这是我学习了不到一周对swift和ios开发的理解,不学oc,我开发的时候就经常会陷入【这他妈是啥,这他妈又是啥的一个一个深坑】

好了,就说这么多,最后扣下我第一句话。

swift开发和前端开发的关系就是java和javascript关系,雷锋和雷峰塔的关系。

PS,我发现其实文档中的实例代码是有swift的例子的,不知道是不是自动更新的,记得上周还木有。刚才发现有了,也可能之前我没仔细看~木哈哈。比如下面这段:

可以跳过 Objective-C 然后直接学习 Swift 语言吗?插图

给苹果的文档 赞一个。。但是我依然不他妈的知道那个UIControlState是特么啥,我觉得,会oc开发的同学上手一定比0基础的要快很多……!

— 完 —

本文作者:付强

【知乎日报】
你都看到这啦,快来点我嘛 Σ(▼□▼メ)

此问题还有 9 个回答,查看全部。
延伸阅读:
如何学习 Objective-C 语言,这方面最好的书有什么?
Objective-C是动态语言吗?为什么?

分享到