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

可惜,我们学习这个东西不是为了开发command line程序的,我用shell或者nodejs也挺好比这个上手还快。所以紧接着第二天开始直接跳过command line程序编写ios app,也就是iphone程序。

如果只是学习Swift的语法和做基本练习的纯计算性的编程,不用学习Objective-C,用Swift的Playground就很好了。

打开网易新闻 查看精彩图片

但没有Objective-C的基础,几乎不可能用Swift写出Mac OSX和iOS的GUI实用程序的,这些需要cocoa框架,而cocoa框架是以Objective-C来编写API的。Swift的cocoa API其实只是对Objective-C的API的直接bind。

这几天用了Swift后感觉其和Objective-C是浑然一体的,用Swift调用Objective-C的函数是非常自然的,两者之间没有明显的界限,就像编写C语言的嵌入式汇编一样。

如果在swift刚推出来的时候,那时候ios和mac开发,还主要是用cocoa这个工具上面而文档多数还是obj c和cocoa api的互相调用上,

打开网易新闻 查看精彩图片

但是我们回头看,苹果显然意识到了这一点,那就是光有一个语言,是不够的如果只有一个语言语法,那用户除了对着小黑框在那边输入然后提示输出以外,其实用户也做不了什么东西

当然这是软件最原始的样子,计算机计算机,最开始的目的就是用来充当计算器用的嘛只是随着时间的推移,很显然,用户对于软件的需求就不仅仅是能够计算,而是需要各种多媒体的输出了

学习 iOS 开发,大头不在语言,共通的部分都学会了,补一补一个很简单的面向对象的 OC 还是很大的问题吗。

打开网易新闻 查看精彩图片

而且现在的 Swift 在编译速度上(虽然现在 Xcode 6.3.1 已经比以前强多了),增量编译检查,LLDB 在补全等问题上还没有 OC 做得好,新项目使用 Swift 并不具有绝对的优势。所以无论先学还是后学,OC 都是终究要面对的事情,不过它不是一件难的事情。

且不说CocoaPods或者Carthage的学习成本,假设我们已经把这些第三方库平安地放到自己的项目里,作为一个没有OBJ-C基础的人来说,想调用它基本就是不可能的任务。TG:li9047