1
seeskyline 2013-06-22 13:37:38 +08:00 1
直接花个把礼拜看下objective-c与cocoa touch的书,之后直接动手编码就OK了。
|
2
akinoniku OP @seeskyline 谢谢
iOS 开发实用书单 › iPhone App Development: The Missing Manual › Cocoa and Objective-C: Up and Running › Cocoa Programming for Mac OS X 请问这三本书还适用于IOS6+吗? 好像都挺旧了 |
3
seeskyline 2013-06-22 13:43:56 +08:00 1
@akinoniku 其实iOS5,6,7的每一次变化不大,这个你可以学好objective-c语法和基本的sdk之后去查看相关文档,了解下新版本新加的和废弃的接口就可以了。sdk学习当然最好学习最新的,这个看官方API文档就可以了。
|
4
akinoniku OP @seeskyline 明白了,谢谢
|
5
shiweifu 2013-06-22 13:57:33 +08:00 1
学学Objective-C 语法,看看斯坦福老头的视频就能上手了。
推荐俩适合学习的客户端项目: https://github.com/gaosboy/iOSSF https://github.com/TonnyTao/DoubanAlbum |
7
akinoniku OP |
9
PrideChung 2013-06-22 14:06:39 +08:00 1
我学iOS开发就没买过一本书,斯坦福老头+WWDC视频+raywenderlich.com就够了,iOS进化太快,两年前的书都嫌旧。
|
10
akinoniku OP |
11
funcman 2013-06-22 14:43:05 +08:00
我初学。我觉得,你现在做iOS开发,能接触到的,貌似除了XCode比较新,硬件参数比较新,库上还是用5之前的。因为要考虑到老机器老版本。
一天之内就可以写个demo,毫无问题。但是写完整的东西,遇到的坑应该不是一两周能搞定的。 毕竟这东西和PC不一样。 |
12
akinoniku OP @funcman 唔。。我相对的没什么PC开发经验,都是web的,而且我只在大学上课的时候学过C,没用过C做任何项目,对内存管理没什么概念,估计会学的比较难受。
|
13
funcman 2013-06-22 15:24:02 +08:00 4
@akinoniku 内存管理没什么神秘的。申请了就得释放,谁来释放以及什么时候释放。C都是自己手工完成。新的语言基本上都有自己的一套方便的东西。
一个对象实例,会在出生时,申请一份内存空间。当这个对象完成它的使命时,就可以释放掉它占用的空间。对象存在作用域中,一般来说,出了作用域,这个对象就不需要了,可以删了。还有种情况,这个对象有其它作用域中的引用。就是说其它作用域中,有指向同一内存空间的一个东西。那么这时候,这块内存空间就不能随便释放了。必须等到没有东西指向它(即引用它)时,它才可以被释放。那么怎么知道有没有东西引用这块内存呢,就可以用个计数器。内存刚申请时,计数器为1,引用一次,加1。释放时(主要是出作用域时的隐性释放),先给计数器减一,等计数器为0时,才真的去释放这块内存。这就是内存管理上的引用计数技术。在ObjC中,有设计好的计数器和语法方便你使用这一技术。而C++这种原始的语言,需要自己写计数器,需要手工减1(也可以用一些语法特性把这事弄简单点)。 Java则使用了重型的扫描式垃圾回收,所以它的内存释放总是不那么及时。 引用计数是目前最好的内存管理技术,方便、高效、可控。而且,没有这个技术,想实现离散的对象控制,只能用别的GC技术了。 不过,自动引用计数是5开始才有的东西。5之前得自己动手。 |
14
PrideChung 2013-06-22 15:41:52 +08:00 1
@funcman
iOS4也能用ARC,只是不支持weak引用 ARC is supported in Xcode 4.2 for OS X v10.6 and v10.7 (64-bit applications) and for iOS 4 and iOS 5. Weak references are not supported in OS X v10.6 and iOS 4. 鉴于iOS6的高占有率,我最近自己做的项目已经要求最低iOS 6.0了,不再考虑兼容问题。本来选择iOS开发就是不想像Android一样苦逼地守着一个过气版本做适配,iOS7正式出来以后我也很可能会放弃iOS6的支持。 |
15
akinoniku OP |
16
PrideChung 2013-06-22 16:30:30 +08:00 via iPhone
@akinoniku 一般不是越狱的就是不怎么在意手机的,反正都不是好伺候的主。特别是有些越狱的不给钱就算了,装了个360手机病毒(我没打错字)害得app闪退了回过头来还给你的app打1星,独立开发者经不起这么折腾,干脆通过要求最新的系统版本来躲开他们。
我在做外包的时候也发现了类似的规律,那些出价小气的,对项目不怎么关心的客户往往最难伺候。 |
17
krafttuc 2013-06-23 10:53:47 +08:00 1
@PrideChung 握手!看完CS 193P,再加点资料就可以动手做了,应用开发贵在时间啊。
|
18
dongk 2013-07-04 16:45:15 +08:00
推荐一本 Beginning iOS 6 Development ,我在Mac Kindle上看的,边看边敲代码,遇到看不懂的代码就查一下Objective C语法手册。
|