天天看点

ios软件开发-第一课-入门篇

                                                                                  Objective-C

一、苹果公司的发展史

        1976年苹果公司由乔布斯,沃兹尼雅克和韦恩三人联合创立;在当年发布了apple 1,也就是一块可扩展的电路板;1977年发布了apple II,他配置了机箱,键盘,电源以及彩色图像处理能力; 1979年开始研发apple III(1980)。liSA(1983)以及  macintosh(1984)是桌面系统的鼻祖。

二、Objective-C与C的渊源

      Objective-C诞生于 20 世纪 80 年代,由Brad Cox 发明,意在将流行的、可移植的 C 语言与优雅的 Smalltalk 语言结合在一起。Objective-C 是 C 语言的一个扩展集,它以 C 语言为基础,在语言中添加了一些微妙但意义重大的特性。

      苹果公司的iphone平台采用Objective-C做为native language的开发,Objective-C的内核是C语言的,并基于C语言实现OOP的一些特性。Objective-C是对C语言的扩展,这和C++的前身Better-c有很大的相似之处,Objective-C的新版本里实现了和Java类似的垃圾回收机制,但基于iphone平台的资源限制,iphone平台并不支持垃圾回收机制。

      oc的头文件格式为“.h”,实现文件格式为“.m”,如果需要使用C++的语法和内容,那么实现文件格式为“.mm”。

三、初识Objective-C

      1、Cocoa的组成

      苹果公司将Cocoa、Carbon、QuickTime和OpenGL等技术作为框架集提供Cocoa组成部分有:(1)Foundation框架(有很多有用的,面向数据的低级类和数据结    构);(2)Application Kit(也称AppKit)框架(包含了所有的用户接口对象和高级类,例如NS……),还有一个支持框架的套件,包括Core Animation和Core Image。

     2、NSLog相当于printf()

    比如:NSLog(@"hello Objective-C");

    注:@是Objective-C在标准C语言基础上添加的特征之一,双引号的字符串前面有一个@,这表示引用的字符串应该作为Cocoa的NSString元素处理

    NSLog(@"are %d and %d different? %@",5,5,boolString(areTheyDifferent));

    注意%@:使用NSLog输出任何对象值时,都会使用这个格式说明

    3、BOOL使用8位存储,YES定义为1,NO定义为0,大于1不为YES,跟标准C不同。

    若不小心将一个长于1字节的整型值赋给BOOL,则只截取低八位 ;

    Obejective-C中1不等于1,绝对不要将BOOL值和YES比较 。