Objective-C 2.0程序设计笔记

创建实例

MyClass *myClass = [[MyClass alloc] init];

或者

MyClass *myClass = [MyClass new];

一般采用第一种,可以清晰地表达出分配和实例化2个步骤。

 

@interface格式

@interface NewClassName: ParentClassName {

        memberDeclarations;

}

memberDeclarations;

@end

 

变量命名规则

以字母或下划线开头,之后可接字母、下划线或0-9的数字。

 

方法声明

+或-  (返回类型) 方法名: (参数类型) 参数名;

例如 - (void) print: (int) num;

其中"+"表示该方法是类方法(类似于Java的静态方法), "-"表示该方法是实例方法。

 

调用方法

[ClassOrInstance method]

例如

- (NSString *)pathForResource:(NSString *)name ofType:(NSString *)extension

这个方法的名字就是pathForResource:ofType:

调用:

[bundle pathForResource:@"customInfo" ofType:@"plist"];

类似于bundle.pathForResourceofType("customInfo", "plist");

 

@implementation格式

@implementation NewClassName

  memberDeclarationsAndImplementation;

@end

 

alloc与release

NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

MyClass *myClass = [[MyClass alloc] init];

// do something.

[myClass release];

[pool drain];

 

格式化字符串

%@:    Objective-C对象,印有字符串返回descriptionWithLocale:如果于的话,或描述相反.CFTypeRef工作对象,返回的结果的CFCopyDescription功能.(这个翻译有问题建议按照自己的理解方式理解)。
%%:    为'%'字符;
%d,%D,%i:    为32位整型数(int);
%u,%U:    为32位无符号整型数(unsigned int);
%hi:    为有符号的16位整型数(short);
%hu:    为无符号的16位整型数(unsigned shord);
%qi:    为有符号的64位整型数(long long);
%qu:    为无符号的64位整型数(unsigned long long);
%x:    为32位的无符号整型数(unsigned int),打印使用数字0-9的十六进制,小写a-f;
%X:    为32位的无符号整型数(unsigned int),打印使用数字0-9的十六进制,大写A-F;
%qx:    为无符号64位整数(unsigned long long),打印使用数字0-9的十六进制,小写a-f;
%qX:    为无符号64位整数(unsigned long long),打印使用数字0-9的十六进制,大写A-F;
%o,%O:    为32位的无符号整数(unsigned int),打印八进制数;
%f:    为64位的浮点数(double);
%e:    为64位的浮点数(double),打印使用小写字母e,科学计数法介绍了指数的增大而减小;
%E:    为64位的浮点数(double),打印科学符号使用一个大写E介绍指数的增大而减小;
%g:    为64位的浮点数(double),用%e的方式打印指数,如果指数小于4或者大于等于精度,那么%f的风格就会有不同体现;
%G:    为64位的浮点数(double),用%E的方式打印指数,如果指数小于4或者大于等于精度,那么%f的风格就会有不同体现;
%c:    为8位的无符号字符%c(unsigned char),通过打印NSLog()将其作为一个ASCII字符,或者,不是一个ASCII字符,八进制格式\ddd或统一标准的字符编码的十六进制格式\udddd,在这里d是一个数字;
%C:    为16位Unicode字符%C(unichar),通过打印NSLog()将其作为一个ASCII字符,或者,不是一个ASCII字符,八进制格式\ddd或统一标准的字符编码的十六进制格式\\udddd,在这里d是一个数字;
%s:    对于无符号字符数组空终止,%s系统中解释其输入编码,而不是别的,如utf-8;
%S:    空终止一系列的16位Unicode字符;
%p:    空指针(无效*),打印十六进制的数字0-9和小写a-f,前缀为0x;
%L:    在明确规定的长度下,进行修正,下面的一批数据a,A,e,E,f,F,g,G应用于双精度长整型的参数;
%a:    为64位的浮点数(double),按照科学计数法打印采用0x和一个十六进制数字前使用小写小数点p来介绍指数的增大而减小;
%A:    为64位的浮点数(double),按照科学计数法打印采用0X和一个十六进制数字前使用大写字母小数点P界扫指数的增大而减小;
%F:    为64位的浮点数(double),按照十进制表示法进行打印;
%z:    修改说明在%z长度以下d,i,o,u,x,X适用于某一指定类型的转换或者适用于一定尺寸的整数类型的参数;
%t:    修改说明在%t长度以下d,i,o,u,x,X适用于某一指定类型或一定尺寸的整数类型的转换的参数;
%j:    修改说明在%j长度以下d,i,o,u,x,X适用于某一指定类型或一定尺寸的整数类型的转换的参数。

 

基本数据类型

int,

float

double

char

 

常量

任何数字、单个字符或者字符串通常都称为常量。

 

循环结构

for语句

while语句

do语句

 

选择结构

if语句

switch语句

conditional运算符,即 condition ?exp1 :exp2

 

@try处理异常

@try {

statements;

@catch (NSException *exception) {

statements;

}

 

控制实例变量作用域的指令

@private

@protected

@public

@package 对于64位图像,可以在实现该类的图像的任何地方访问这个实例变量。

 

存储类说明符

auto, 函数或方法内部变量的默认声明方式

static

extern

volatile

 

 

 

持续更新中...

更多资料可以参考:

http://cocoadevcentral.com/d/learn_objectivec/

 

 

译者序 作者简介 技术审校人员简介 第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、付费专栏及课程。

余额充值