`

《Objective-C 程序设计(第4版)》 试读

阅读更多

    老婆要过生日,在3个月前我就问她想要什么礼物,她毫不犹豫的回答:iPhone,并希望能提前收到生日礼物。在我眼里,iPhone可能没有小米2更有吸引力,但在亲爱老婆的眼里,周围熟人都用iPhone,自己没有那怎么好意思。用户形成了市场,市场决定了开发人员的目标,在苹果成为下一个诺基亚之前,它的AppStore就是开发人员眼里的金矿。而Objective-C就是开发iOS原生应用的不二选择。在上个月(2012年10月)的TIOBE编程语言排行榜上,Objective-C是第三名,超过了C++,而在08年,它还在30名左右晃荡,这个上升速度很逆天啊。
    好吧,这个金矿也诱惑了我,在买台Mac和花99$的年费之前,先熟悉Objective-C是必要的。没有条件可以创造条件,没有Xcode,那就用gnustep+Codeblocks将就吧。
    搭建好环境,下面就看着试读章节来学习了。Objective-C是在面向过程的C语言基础上增加了面向对象扩展,语法初看上去有些别扭但OO的思想是一样的。这里记下几个注意的地方:
   
第3章 介绍类、对象和方法
1、方法调用变成消息传递,所以要习惯下面的表示法。
    object.method1();  ==> [object method];
    object.method1(param1); ==> [object method1:param1];
2、通过@interface声明类方法和所继承的父类,@end结束
   通过@implementation描述类的实现,{}里是实例变量声明,方法在{}后面,@end结束。
3、用(-)表示实例方法,用(+)表示类方法,
   void setNumberator(int d) ==> - (void) setNumerator: (int) d
4、分配内存和初始化是分开的,所以先[object alloc],然后[object init],可以合并为[[object allic] init],可以简写为[object new]。
5、有了ARC,不再需要手工写release。它不同于java的GC,而是自动引用计数,由编译器来替你写release。这样的话,肯定有很多注意事项,否则错误不好找。
6、读取实例变量numerator用的不是getNumerator,而是同名方法 -(int)numberator。

第4章 介绍类型和表达式
1、够长的unsigned long long int
2、id类型是多态和动态绑定的基础
3、整数相除自动取整,所以25/2*2=24

    一路读来,内容容易理解,文字也通顺,作为入门的书这样就很理想。我想如果读完这本书并能完成每章后面的练习的话,Objective-C的语法不难掌握。真正的问题在于Mac不便宜,而苹果也不肯提供其它平台下的iPhone SDK,装个Mac虚拟机还是咬牙买个家庭预算外的Mac,这个问题比写Objective-C的程序还难。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics