开始学 ios 开发

2014-12-01 16:35:28 +08:00
 rcmerci
不会oc
有什么建议吗?是直接上swift吗
另外我不打算买书看, 直接看网上的资料。
5883 次点击
所在节点    iDev
29 条回复
datou552211
2014-12-01 16:49:18 +08:00
同求告知
neargle
2014-12-01 16:52:36 +08:00
有苹果电脑吗?我觉得ios的开始都是有一个苹果的电脑和系统←_←
GDGshanghai
2014-12-01 16:58:49 +08:00
@datou552211
http://www.v2ex.com/t/149588
可以报名参加 iOSCon,跟着大牛学 Swift
linKnowEasy
2014-12-01 17:20:05 +08:00
网易公开课 ios7
知乎 http://zhuanlan.zhihu.com/kidscoding 入门
boom11235
2014-12-01 17:32:10 +08:00
我也想学,想直接上swift了...
zapper
2014-12-01 17:35:30 +08:00
至少现在,oc的第三方库要比Swift的多
不过oc和Swift可以混编,还是了解一下oc的好
ipconfiger
2014-12-01 17:42:15 +08:00
CoreData在swift下有坑,昨晚上被坑到1点,幸亏爬出来了
favormm
2014-12-01 17:45:06 +08:00
教学费,我带你。 ^V^
wezzard
2014-12-01 17:52:42 +08:00
如果你不瞭解 C,那麼你還是學一下 Objective-C,因爲網上很多例子都是 Objective-C的,你如果深入瞭解 C 的話,那麼看懂 Objective-C 代碼並且理解到 Swift 和 Objective-C 運行時的不同應該很容易。

另外,Swift 和 Objective-C 的特性互不完全覆蓋,比如說 Swift 完全遵從 Liskov Substitution Principle,致使你要 override superclass 的 property 類型爲其原先類型的繼承者是不行的。又比如說在 Swift 中使用泛型會導致從 Objective-C 框架中派生出來的類型完全 Swift 化,無法再使用 NSCoding 來進行 persistent。又比如說 Swift 的對象創建語法導致非常不好寫 class cluster,我已經用 compositor 模式替代了所有的 class cluster。

如果你想精通 iOS 開發,Objective-C 是不可繞過的,因爲蘋果的根在那。而以 Swift 運行時的特性,蘋果完全把所有框架遷移到原生的 Swift 上是不可能的。
wezzard
2014-12-01 17:56:46 +08:00
@ipconfiger 啥坑?
guitarkitten
2014-12-01 17:58:56 +08:00
raywenderlich不谢。
amon
2014-12-01 18:08:35 +08:00
建议:书中有很多网上没有的知识。
ipconfiger
2014-12-01 18:08:38 +08:00
@wezzard models创建了subclass用oc的方式要报错哦
4everLoveU
2014-12-01 18:26:18 +08:00
感谢楼上的分享
chmlai
2014-12-01 18:30:42 +08:00
看你学来干嘛, 学来玩可以从 swift 开始, 学来招工作必须从 objc 开始.
jox
2014-12-01 19:17:35 +08:00
这是一个垃圾问题,但是现在很无聊。

我的建议是swift也好,obj c也好,都无所谓,能写出好的应用就是胜利,另外既不会obj c也不会swift但是倾向学习swift的新手们是不是大多数之前就没有多少编程经验呢?

之前有过其他平台编程经验的朋友也会更倾向于学习swift来学习iOS开发吗?如果是,理由是什么呢?如果只是为了用来开发应用的话,学习obj c用不了多少时间啊,我只花了不到半天的时间看了下苹果的这个文档:

https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html

基本上就没有再看过关于obj c的资料了,在学习iOS开发之前我学习过C,JavaScript,python,lua,emacs lisp, scheme 还有个我一下想不起来名字了,只用过前三个做过实际的项目,其他的都是因为需要读某些源代码以修改软件的配置或者看书的时候才了解了一下,达到目的之后就没再接触过了,其中就C花的时间最长,花了好几个月,因为是第一个学的编程语言,而且还得学习硬件相关的知识,我反正觉得如果只是开发普通的web或者移动应用的话,我已经不需要花很长时间来学习某个编程语言了,觉得都差不多
yxzblue
2014-12-01 19:22:13 +08:00
我想知道PO主从啥语言想转去iOS开发的...
rcmerci
2014-12-01 19:37:50 +08:00
@yxzblue 很多语言都会一些, 个人猜测ios开发最要紧的应该不是语言把。
jox
2014-12-01 19:50:38 +08:00
@rcmerci 是的,我觉得理解iOS的各个组件是如何工作的,开发者可以怎么灵活地应用苹果为开发者提供的这些组件,这些是更重要的,但是这却是不容易的,要阅读大量的资料,并且需要不断地实践和从错误中吸取教训。

如果非要选择编程语言的话,假如现在的我要学习iOS开发但是既不会obj c也不会swift,我会选择obj c,因为我是机会主义者,新出来的编程语言都要观察一段时间才会好用甚至能用,现在我只用被证明可以经得起考验的编程语言来构建我的应用。另外obj c表达力足够,该有的都有,并没有太严重的缺点,完整的高级抽象类型,第三方的代码库,一些好用的设计模式的支持,同时兼容C可以直接调用底层的C接口,哦,别忘了还有可爱的lambda,可能是我接触时间还不够长,我不明白apple开发swift的动机是什么,难道是因为obj c太啰嗦了?
wezzard
2014-12-01 20:15:52 +08:00
@jox write less, do more

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/150684

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX