亲爱的读者朋友们,你们好。感谢您购买并阅读《iOS应用程序开发方法与实践》。
本书的当当网购书链接:
iOS应用程序开发方法与实践
本书的亚马逊链接:
iOS应用程序开发方法与实践
本书的配套源代码:
http://yunpan.cn/csHTELpjDWcmr (提取码:7e18)
我们在本书出版前已经尽力发现并修改了书中出现的错误,但仍不免有所疏漏,敬请广大读者和同仁不吝批评指正。如果您发现了书中的错误,可以在此留言,或者发送至我的邮箱[email protected]。您也可以通过新浪微博@偷笑黑桃K进行提问与交流。感谢您的支持!
以下列出了书中的部分错误,或者没有解释清楚的内容。
第一章 1.3.1节
原文:个人版用户只能够自己使用,99美元/年;企业版用户可以以小组的形式多人使用,399美元/年。
应为:个人版用户允许个人和公司开发iOS应用程序并提交至苹果商店,99美元/年;企业版用户开发的程序只能供企业内部使用,不能提交至苹果商店,399美元/年。
第二章 2.5.4节 P71中间
原文:(防止对象在使用时被释放)。
应为:(防止对象在使用时被回收)。
备注:在本书中,释放和回收是两个概念。释放即释放掉对象的使用权,相当于调用release方法,其保留计数-1。而回收是指对象所占用的内存空间已经被操作系统回收。释放并不一定导致对象会被回收,因为有可能有多处代码在使用同一个对象。
如下代码就是一个很好的例子:
... id obj = [aMutableArray lastObject]; [aMutableArray removeLastObject]; //在未开启ARC时,此时obj可能已经指向一个僵尸对象,不应该再访问obj所指的内存空间!当未开启ARC时,上述代码是有问题的,安全的做法如下。而对于开启ARC的代码来说,上面的代码是没问题的。
... id obj = [[aMutableArray lastObject] retain]; [aMutableArray removeLastObject]; //可以继续访问obj NSLog(@"%@", obj); ... [obj release];
第三章 3.1.5节
原文:当修改bounds属性的尺寸时,frame属性与center属性会更新。
应为:当修改bounds属性的尺寸时,frame属性会更新,center属性不变。
备注:参见博客文章视图UIView的frame、bounds与center属性
第七章 7.1.2节 第4部分:应用程序不同目录的作用
原文:Documents:用于保存程序中的文件。该目录主要保存应用程序在启动时加载的文件。
应为:Documents:用于保存用户生成的、不可重新创建的数据文件。
原文:而Caches目录保存缓存数据。
应为:而Caches目录保存缓存数据。与Documents目录相对,该目录主要保存可以重新下载的,或是可以重新创建的数据文件。
备注:应用程序的包目录、Caches与Temp目录不会被备份。