《Objective-C 2.0程序设计》读书笔记


1.     通过在NSLog调用的格式字符串忠使用格式符号%o,可在终端上用八进制显示整型数。在这用情况下,用八进制显示的值不带有前导0,而格式符号%#0将在八进制值的前面显示前导0.

2.     如果整型常量以0和字母x(无论大小写)开头,那么这个值都将用十六进制计数法来表示。如要给名为rgbColor的整型常量指派十六进制的值FFEF0D,可以使用一下语句:

rgbColor = 0XFFEF0D;

格式符号%x将用十六进制格式显示一个值,不带前导0x,并用af之间的小谢字符表示。要使用前导0x显示该值,使用格式字符%#x,如下:

NSLog(“Color is %#x\n,rgbColor;

3.        显示浮点值,可用NSLog转换字符%f

4.        浮点数可以用科学计数法来表示。例如:1.7e4(或者1.7E4)就表示1.7。位于字符e之前的值成为尾数,位于e之后的值成为指数。指数之前可以放正负号,例如:2.25e-3,表示2.25

用科学计数法显示值,应该在NSLog格式字符串忠制定格式字符%e。使用NSLog格式字符串NSLog确定使用常用的浮点计数法还还是使用科学计数法来显示浮点值。这一决定取决于指数的值。如果指数小于-4或者大于5,采用%e表示,否则采用%f表示。

5.          double类型和float类型相似,在float变量所提供的值域不能满足要求时,就要使用double变量。声明为double类型的变量可以存储的位数大概是float类型所在存储的两倍多。注意:显示double类型的格式字符和float类型的格式字符是一样的。

6.          \n’是合法 的字符常量。

7.          id类型  id类型可以存储任何类型的对象,她和c语言忠的void *类似。-idnewObject: (int) type; 声明一个名为newObject的实例方法,具有名为type的整型参数,并有id类型的返回值。Id是默认的类型。因此,+allocInit;就声明了一个返回id类型的类方法。

8.          Objective-C中浮点值和整型值之间的隐式转化的规则

int main(int argc, const char * argv[])

{

 

    @autoreleasepool {

       

        float f1=123.125,f2;

        int i1,i2=-150;

        i1 = f1;//把浮点数赋值给整型数,小数部分被删

        NSLog(@"f1:%f;i1:%i",f1,i1);

       

        f1 = i2;//整型数赋给浮点数,不引起值的改变,做转化

        NSLog(@"i2:%i;f1:%f",i2,f1);

       

        f1 = i2/100;

        NSLog(@"f1:%f",f1);//i2/100做的整型运算,将结果做了变换存储在浮点型变量忠。

       

        f2 = i2/100.0;

        NSLog(@"f2:%f",f2);//做的浮点型运算

       

        f2 = (float)i2/100;//做的浮点型运算

        NSLog(@"f2:%f",f2);

    }

    return 0;

}

 

注意:在Objective-C中,任何处理两个值的运算,如果其中一个值是浮点变量或常量,那么这一运算将作为浮点运算处理。

9.        按位运算 练习中用到了再回过头看。

10.    循环结构、选择结构和C语言用法一样。

11.     数组的定义:                        NSArray *arr = [[NSArray alloc] initWithObjects:@"Me",@"Myself",@"I",nil];

NSMutableArray *mutable = [[NSMutableArray alloc] init];      

12.    枚举 NSEnumerator)
遍历数组每个索引处的对象,你可以编写一个0[array count]的循环,而NSEnumerator用来描述这种集合迭代运算的方式。
通过objectEnumerator向数组请求枚举器,如果想从后向前浏览集合,可使用reverseObjectEnumerator方法。在获得枚举器后,可以开始一个while循环,每次循环都向这个枚举器请求它的下一个对象:nextObjectnextObject返回nil值时,循环结束。

void print( NSArray *array ) {

    NSEnumerator *enumerator = [array objectEnumerator];

    id obj;

          

    while ( obj = [enumerator nextObject] ) {

        printf( "%s\n", [[obj description] cString] );

  }

}

 

13.              [mutable sortUsingSelector: @selector( caseInsensitiveCompare: )];

/*数组元素排序,升序。 @selector是查找当前类的方法,而[object @selector(方法名:方法参数..) ] ;是取object对应类的相应方法*/

14.              [[monthNames  objectAtIndex:i] cString])

        objectAtIndex: i

只适用于集合(数组)。可根据索引获取对象。如:
NSArray *array=

[NSArray arrayWithObjects:@"zhangsan",@"lisi",@"wangwu",nil];
NSLog("%@",[array objectAtIndex:0]);
这时输出的值是'zhangsan' .可以看出objectAtIndex 消息是从下标0开始。

15.              向数组中添加元素: [mutable addObject:@"Three"];

16.                 NSMutableDictionary添加元素:[mutable setObject:@"Tom" forKey:@"tom@jones.com"];

17.              NSMutableDictionary  *glossary = [NSMutableDictionary dictionary];

译者序 作者简介 技术审校人员简介 第1章 前言 1.1 本书的内容 1.2 本书的组织方式 1.3 致谢 第1部分 Objective-C语言 第2章 Objective-C程序设计 2.1 编译并运行程序 2.1.1 使用Xcode 2.1.2 使用Terminal 2.2 解释第一个程序 2.3 显示变量的值 2.4 小结 2.5 练习 第3章 类、对象和方法 3.1 到底什么是对象 3.2 实例和方法 3.3 用于处理分数的Objective-C类 3.4 @interface部分 3.4.1 选择名称 3.4.2 实例变量 3.4.3 类和实例方法 3.5 @implementation部分 3.6 Program部分 3.7 实例变量的访问以及数据封装 3.8 小结 3.9 练习 第4章 数据类型和表达式 4.1 数据类型和常量 4.1.1 int类型 4.1.2 float类型 4.1.3 double类型 4.1.4 char类型 4.1.5 限定词:long、long long、short、unsigned及signed 4.1.6 id类型 4.2 算术表达式 4.2.1 运算符的优先级 4.2.2 整数运算和一元负号运算符 4.2.3 模运算符 4.2.4 整型值和浮点值的相互转换 4.2.5 类型转换运算符 4.3 赋值运算符 4.4 计算器类 4.5 位运算符 4.5.1 按位与运算符 4.5.2 按位或运算符 4.5.3 按位异或运算符 4.5.4 一次求反运算符 4.5.5 向左移位运算符 4.5.6 向右移位运算符 4.6 类型:_Bool、_Complex和_Imaginary 4.7 练习 第5章 循环结构 5.1 for语句 5.1.1 键盘输入 5.1.2 嵌套的for循环 5.1.3 for循环的变形 5.2 while语句 5.3 do语句 5.4 break语句 5.5 continue语句 5.6 小结 5.7 练习 第6章 选择结构 6.1 if语句 6.1.1 if-else结构 6.1.2 复合条件测试 6.1.3 嵌套的if语句 6.1.4 else if结构 6.2 switch语句 6.3 Boolean变量 6.4 条件运算符 6.5 练习 第7章 类 7.1 分离接口和实现文件 7.2 合成存取器方法 7.3 使用点运算符访问属性 7.4 具有多个参数的方法 7.4.1 不参数名的方法 7.4.2 关于分数的操作 7.5 局部变量 7.5.1 方法的参数 7.5.2 static关键字 7.6 self关键字 7.7 在方法中分配和返回对象 7.8 练习.. 第8章 继承 8.1 一切从根类开始 8.2 通过继承扩展—添加新方法 8.2.1 Point类和内存分配 8.2.2 @class指令 8.2.3 具有对象的类 8.3 重载方法 8.3.1 择哪个方法 8.3.2 重载dealloc方法和关键字super 8.4 通过继承扩展:添加新的实例变量 8.5 抽象类 8.6 练习 第9章 多态、动态类型和动态绑定 9.1 多态:相同的名称,不同的类 9.2 动态绑定和id类型 9.3 编译时和运行时检查 9.4 id数据类型与静态类型 9.5 有关类的问题 9.6 使用@try处理异常 9.7 练习 第10章 变量和数据类型 10.1 类的初始化 10.2 作用域回顾 10.2.1 控制实例变量作用域的指令 10.2.2 外部变量 10.2.3 静态变量 10.3 存储类说明符 10.3.1 auto 10.3.2 const 10.3.3 volatile 10.4 枚举数据类型 10.5 typedef语句 10.6 数据类型转换 10.6.1 转换规则 10.6.2 符号扩展 10.7 练习 第11章 分类和协议 11.1 分类 11.2 协议 11.3 合成对象 11.4 练习 第12章 预处理程序 12.1 #define语句 12.1.1 更高级的定义类型 12.1.2 #运算符 12.1.3 ##运算符 12.2 #import语句 12.3 条件编译 12.3.1 #ifdef、#endif、#else和#ifndef语句 12.3.2 #if和#elif预处理程序语句 12.3.3 #undef语句 12.4 练习 第13章 基本的C语言特性 13.1 数组 13.1.1 数组元素的初始化 13.1.2 字符数组 13.1.3 多维数组 13.2 函数 13.2.1 参数和局部变量 13.2.2 函数的返回结果 13.2.3 函数、方法和数组 13.3 结构 13.3.1 结构的初始化 13.3.2 结构数组 13.3.3 结构中的结构 13.3.4 关于结构的补充细节 13.3.5 不要忘记面向对象编程思想 13.4 指针 13.4.1 指针和结构 13.4.2 指针、方法和函数 13.4.3 指针和数组 13.4.4 指针运算 13.4.5 指针和内存地址 13.5 联合 13.6 它们不是对象 13.7 其他语言特性 13.7.1 Compound Literal 13.7.2 goto语句 13.7.3 空语句 13.7.4 逗号运算符 13.7.5 sizeof运算符 13.7.6 命令行参数 13.8 工作原理 事实#1:实例变量存储在结构中 事实#2:对象变量实际上是指针 事实#3:方法是函数,而消息表达式是 函数调用 事实#4:id类型是通用指针类型 13.9 练习 第二部分 Foundation框架 第14章 Foundation框架简介 第15章 数字、字符串和集合 15.1 数字对象 15.2 字符串对象 15.2.1 NSLog函数 15.2.2 可变对象与不可变对象 15.2.3 可变字符串 15.2.4 所有对象到哪里去了 15.3 数组对象 15.4 同步AddressCard方法 15.4.1 快速枚举 15.4.2 数组排序 15.5 词典对象 15.6 集合对象 15.7 练习 第16章 使用文件 16.1 管理文件和目录:NSFileManager 16.1.1 使用NSData类 16.1.2 使用目录 16.1.3 枚举目录中的内容 16.2 使用路径:NSPathUtilities.h 16.2.1 常用的路径处理方法 16.2.2 复制文件和使用NSProcessInfo类 16.3 基本的文件操作:NSFileHandle 16.4 练习 第17章 内存管理 17.1 自动释放池 17.2 引用计数 17.2.1 引用计数和字符串 17.2.2 引用计数与实例变量 17.3 自动释放池示例 17.4 内存管理规则摘要 17.5 垃圾回收 17.6 练习 第18章 复制对象 18.1 copy和mutableCopy方法 18.2 浅复制与深复制 18.3 实现协议 18.4 用赋值方法和取值方法复制对象 18.5 练习 第19章 归档 19.1 使用XML属性列表进行归档 19.2 使用NSKeyedArchiver归档 19.3 编码方法和解码方法 19.4 使用NSData创建自定义档案 19.5 使用归档程序复制对象 19.6 练习 第三部分 Cocoa和iPhone SDK 第20章 Cocoa简介 20.1 框架层 20.2 接触Cocoa 第21章 编写iPhone应用程序 21.1 iPhone SDK 21.2 第一个iPhone应用程序 21.2.1 创建新的iPhone应用程序项目 21.2.2 输入代码 21.2.3 设计界面 21.3 iPhone分数计算器 21.3.1 启动新的Fraction_Calculator项目 21.3.2 定义视图控制器 21.3.3 Fraction类 21.3.4 处理分数的Calculator类 21.3.5 设计UI 21.4 小结 21.5 练习 第四部分 附录 附录A 术语表 附录B Objective-C 2.0语言概览 附录C 地址簿源代码 附录D 资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值