Just for Objective-C Program Language
Objective-C学习笔记十二
摘要:Chapter 10 : 属性列表PS : Objective-C可使用与C绑定的所有工具,例如标准C库函数。可使用malloc()和free()函数处理动态内存管理问题,或者使用open(), read(), write(), fopen()和fread函数处理文件。-> 属性列表类包括NSArray, NSDictionary, NSString, NSNumber, NSDate和NSData。1. NSDate :用于处理日期和时间的基础类,是一个自动释放对象。示例如下:1 // 获取当前日期和时间2 NSDate *date = [NSDate date];3 NSLog(@&
阅读全文
posted @
2012-09-28 15:34
BankFish
阅读(475)
推荐(0)
Objective-C学习笔记十一
摘要:Chapter 9 : 分类和协议1. 协议(protocol) : 其声明类于类接口的声明,不同的是,协议没有父类,且不能定义成员变量。2. 协议(protocol)声明如下:1 @protocol MyProtocol2 3 - (void)myProtocolMethod;4 5 @end-> 协议(protocol)是多个类共享的一个方法列表(Methods List), 协议(protocol)中列出的方法没有相应的实现。如果一个类采用MyProtocol协议,则必须实现名为myProtocolMethod的方法。3. 协议(protocol)的使用: 通过在@interfa.
阅读全文
posted @
2012-09-28 12:02
BankFish
阅读(271)
推荐(0)
Objective-C学习笔记十
摘要:Chapter 9 : 分类和协议1. 分类(Category):-> 作用:可以以模块的方式向现有的类添加方法,将类的定义模块化到相关方法的组或分类中。-> 意义:提供了扩展现有类定义的简便方式,并且不必访问类的源代码,也无需创建子类。2. 示例代码: 1 // Fraction类声明 2 // Fraction.h文件 3 4 #import <Foundation/Foundation.h> 5 6 @interface Fraction : NSObject 7 { 8 int numerator; 9 int denominator;10 }11 12 @pr
阅读全文
posted @
2012-09-28 11:35
BankFish
阅读(216)
推荐(0)
Objective-C学习笔记九
摘要:Chapter 8 :动态绑定和id类型1. 示例代码: 1 // 用到的类请参照前面的笔记 2 3 // 两个类中都含有print方法 4 #import "Fraction.h" 5 #import "Complex.h" 6 7 int main(int argc, const char *argv[]) 8 { 9 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];10 11 Fraction *f = [[Fraction alloc] init];12 Complex *c
阅读全文
posted @
2012-09-28 11:06
BankFish
阅读(129)
推荐(0)
Objective-C学习笔记八
摘要:Chapter 7 : 继承1. 首先记住:Objective-C不支持多继承。2. 关于Square类继承于Rectangle类的继承示例:Rectangle.h 1 // Rectangle类声明 2 // Rectangle.h文件 3 4 #import <Foundation/Foundation.h> 5 6 // Inherited from NSObject Class 7 @interface Rectangle : NSObject 8 { 9 int width;10 int height;11 }12 13 // 存取器属性14 @property ...
阅读全文
posted @
2012-09-28 10:46
BankFish
阅读(253)
推荐(0)
Objective-C学习笔记七
摘要:Chapter 6 : 存取器1. 示例代码: 1 // Car.h文件 2 3 #import <Cocoa/Cocoa.h> 4 5 @interface Car : NSObject 6 { 7 NSString *name; 8 NSMutableArray *tires; 9 Engine *engine;10 }11 12 @property (copy) NSString *name;13 @property (retain) Engine *engine;14 15 - (void)set...
阅读全文
posted @
2012-09-28 10:07
BankFish
阅读(214)
推荐(0)
Objective-C学习笔记六
摘要:Chapter 5 : 对象(object/instance)初始化1. 示例代码: 1 // Tire.h文件 2 #import <Cocoa/Cocoa.h> 3 4 @interface Tire : NSObject 5 { 6 float pressure; 7 float treadDepth; 8 } 9 10 - (id)initWithPressure:(float)pressure;11 - (id)initWithTreadDepth:(float)treadDepth;12 // 指定初始化函数13 - (id)initWithPressure:(f...
阅读全文
posted @
2012-09-27 10:56
BankFish
阅读(235)
推荐(0)
Objective-C学习笔记五
摘要:Chapter 4 : 内存管理1. NSAutoreleasePool : 自动释放池。-> 程序可以有多个自动释放池(NSAutoreleasePool)-> 自动释放池(NSAutoreleasePool)并不包含实际的对象(object/instance)本身,只是包含对释放的对象(object/instance)的引用。-> 通过对目前的自动释放池(NSAutoreleasePool)发送一条autorelease消息,可将一个对象(object/instance)添加到其中。 // 自动释放池 NSAutoreleasePool *pool = [[NSAutor
阅读全文
posted @
2012-09-27 10:20
BankFish
阅读(215)
推荐(0)
Objective-C学习笔记四
摘要:Chapter 3 : 字符串1. NSInteger : 不是一个对象,而是基本数据类型的typedef, 为64位的long或者32位的int2. 各种数值:可用对象来封装基本数值(即将基本类型封装成对象)-> NSNumber类包装基本数据类型:+ (NSNumber *)numberWithChar:(char)value;+ (NSNumber *)numberWithInt:(int)value;+ (NSNumber *)numberWithFloat:(float)value;+ (NSNumber *)numberWithBool:(BOOL)value;// 当然还包
阅读全文
posted @
2012-09-25 18:18
BankFish
阅读(299)
推荐(0)
Objective-C学习笔记三
摘要:Chapter 3 : 字符串1. 常用数据类型-> NSRange : 表示范围作用的结构体,3种方式创建// 方式一NSRange range;range.location = 17;range.length = 4;// 方式二NSRange range = {17, 4};// 方式三// 推荐NSRange range = NSRangeMake(17, 4);-> NSPoint : 点坐标NSPoint point = NSPointMake(0, 0);-> NSSize : 长度和宽度NSSize size = NSSizeMake(10, 20);->
阅读全文
posted @
2012-09-25 17:40
BankFish
阅读(1467)
推荐(0)
Objective-C学习笔记二
摘要:Chapter 2 : 数据类型1. Obj-C提供的基本数据类型: int、float、double、 char-> int :十进制NSLog格式符为:%i, %d八进制整型第一位为0NSLog的格式符为:%o 显示的八进制不带前导0 %#o 显示的八进制带前导0十六进制以0x开头的整型NSLog的格式符为: %x 显示的十六进制不带前导0x %#x 显示的十六进制带前导0xPS : 若%X或%#X, 显示的十六进制用大写-> float : NSLog的格式符: %f NSLog的格式符: %e 科学计数法显示值 NSLog的格式符: %g...
阅读全文
posted @
2012-09-25 11:59
BankFish
阅读(310)
推荐(0)
Objective-C学习笔记一
摘要:Chapter 1 : 程序整体语法结构1. Obj-C and C++概念对照:-> Obj-C中的nil相当于NULL;-> Obj-C中的YES和NO相当于true和false. PS :Obj-C中的BOOL类型与C++中的不同:在C++里一切非0值的东西都为true,而0值的为false; 但在Obj-C里1为true并被宏定义为YES, 0为false并被宏定义为NO。错误代码如下:BOOL isDifferent(int int1, int int2){ return (int1 - int2);}if (isDifferent(4, 5) == YES){ // .
阅读全文
posted @
2012-09-25 11:19
BankFish
阅读(346)
推荐(0)