Mat*_*gan 10 php cocoa transition objective-c
作为一名经验丰富的PHP开发人员,并且对C(使用16位我爸爸的NEC微控制器进行了分布式计算实验)有了很好的了解,我想转向Objective-C和Cocoa,最终旨在整合Mac/iPhone应用程序与我的一些PHP项目.
通过Arron Hiilegass的"Cocoa Programming For Mac OS X"一书,我有点沮丧.我能够处理这些例子,但他没有解释为什么他以这种方式使用类(NSNumber而不是int或double).
我正在寻找一本优秀的书籍/书籍,以便首先使用Objective-C.我的问题是,什么是好书?我正在看"Objective-C 2.0编程",它看起来很不错.我从哪里去?我想我应该重新开始我的Cocoa书.
此外,互联网上是否有任何资源可以帮助从PHP过渡到Objective-C?我知道PHP是一种松散类型的脚本语言,因此它有其不同之处.对于Obj-C和Cocoa,有些事情没有意义,为什么我不能将整数放入NSMutableArray?
无论如何.谢谢您的帮助!(我只有14岁,所以如果我在我的Q中犯了任何错误,那么请放轻松.)
我能够处理这些例子,但他没有解释为什么他以这种方式使用类(NSNumber而不是int或double)...
对于Obj-C和Cocoa,有些事情没有意义,为什么我不能将整数放入NSMutableArray?
NSNumber是一个有用得多比类型等原始类型int或者double,因为它是在与你会碰到,你在可可编程其他对象一起经常使用.
例如,在为了包装一个号码作为值转换成可调整大小的阵列(如一个NSMutableArray)或一个关联数组(的实例NSDictionary),则需要将原始数(int,double等)转换成一个串行化,或存档对象- 一个NSNumber.
基元不能被序列化,不像NSNumber,因为原语是不是在基本设置"核心基金"类型(的NSNumber,NSArray,NSString等),苹果公司一直努力提供给你.
此外,通过使用NSNumber您还可以免费获得许多奖励便利方法:您可以快速将数字转换为字符串,例如,只需键入即可[myNumber stringValue].
或者,如果您将NSNumber某个东西视为某物的价格("1.23美元"),您可以应用NSNumberFormatter以确保对该数字的操作给出的结果具有您期望的格式(例如,如果您添加两个价格值,你会期望获得货币价值作为回报).
这并不是说你不能或不应该使用int或double变量.但在许多情况下,你会发现NSNumber一个更好的选择,因为你可以编写更少的代码并获得"免费"的许多功能.
根据我的经验,我发现互联网文档对于学习Obj-C和CocoaTouch非常有帮助.我的进展是这样的:
1)在iTunes上观看Apple Dev视频(它们是免费的).
2)阅读入门,iPhone应用程序编程指南.
4)阅读更多:Cocoa Fundamentals,Objective-C Primer,Cocoa Practices.
5)做一些简单的教程.
IMO:您需要的所有信息都在Apple Dev:iPhone网站上.省钱,不买书.如果您不理解其中一个指南或教程中的"为什么",请立即与Google的其他来源交叉引用.
你必须记住,这里的学习曲线非常大.这对我来说,我每天都在大学里学习这样的事情.所以,坚持下去并以聪明的方式阅读(你知道的浏览内容).我自己看到的是,如果我了解iPhone的工作方式并了解数据流,那么对它进行编程主要是语法问题.
PHP与Objective-C非常不同.此外,在因特网环境中用PHP解决编程问题的方式与在iPhone环境中在Obj-C中解决编程问题的方式有很大不同.因此,您希望从新的角度来看待iPhone,并作为学生/学习者.花点时间专注于面向对象的编程和最佳实践.这将在未来几年祝福你.
-水牛