Objective-C 编程:从基础到 64 位过渡及更多
1. Isa 交换技术
Isa 交换是一项强大的技术,但它颇具技术性,并非适合所有人尝试。此技术主要用于提供信息,而非鼓励自行尝试。不过,若确实有涉及对象变异的需求,它也是可以掌握的。
2. 64 位编程
2.1 处理器过渡
过去几十年,微处理器寄存器的大小从 4 位增长到 32 位,如今正从 32 位处理器向 64 位处理器过渡,而向 128 位处理器的过渡预计还需时日。
2.2 对程序员的影响
对于 Java 和 Objective - C 程序员而言,这种过渡带来了新的内存容量和性能提升的可能。大多数面向对象程序员在过渡期间,只需更新项目设置以生成 64 位版本的应用程序。若仅使用 Objective - C 的类、方法和属性,两种环境的差异较小。不过,Objective - C 程序员需注意一些整数变量类型的大小变化,如下表所示:
| 类型 | 32 位大小 | 64 位大小 |
| — | — | — |
| char | 1 字节 | 1 字节 |
| short | 2 字节 | 2 字节 |
| int | 4 字节 | 4 字节 |
| long | 4 字节 | 8 字节 |
| NSInteger | 4 字节 | 8 字节 |
| pointer | 4 字节 | 8 字节 |
| long long | 8 字节 | 8 字节 |
大多数整数大小保持不变,除了 long int
。在 3