Objective-C学习
wuleihenbang
这个作者很懒,什么都没留下…
展开
-
Objective-C 中的方法声明
- (void) method: (int) arguments;依次对应:方法类型 返回类型 方法名 参数类型 参数名用单个字符“-”开头声明一个实例方法,意即它是在一个类的实例上被调用和实施。用单个字符“+”开头的则是用于类方法,这是独立于任何实例的。返回类型为空,方法名为“method:” (一定注意这个冒号),最后这个方法的参数是一个整型的参数,arguments是参数的名原创 2012-12-18 14:17:25 · 6826 阅读 · 0 评论 -
Objective-C中的协议和代理(委托)设计模式
一、协议: Objective-C中的协议(Protocol)类似于常用的接口,协议(Protocols)中定义的方法,在类中实现。协议(Protocol)通常用来实现委托对象(Delegate Object)。委托对象(Delegate Object)一般用来自己定义行为或者动作,也就是调用自己定义方法,但自己不实现该方法,委托其它的类来实现该方法。1. 协议的声明:原创 2013-06-11 19:38:47 · 7615 阅读 · 0 评论 -
Objective-C中的类目和延展
类目:为已知的类增加新的方法;延展:通知在本类的定义里使用类目来声明私有方法;一、类目:1. 类目方法的应用:对现有类进行扩展:比如:可以扩展Cocoa touch框架中的类,在类目中增加的方法会被子类继承,而且在运行时跟其他的方法没有区别。作为子类的替代手段:不需要定义和使用一个子类,可以通过类目直接向已有的类里增加方法。对类中的方法归类:利用catigory把一个庞大的原创 2013-06-11 20:59:28 · 6396 阅读 · 0 评论 -
Objective-C中的@property,@synthesize和点语法
1.普通的设置器和访问器Person.h#import @interface Person : NSObject{ int identify; int age;}- (void)setIdentify:(int) identify; //设置器- (int)identify; //访问器- (void)printInf原创 2013-06-10 18:47:06 · 2462 阅读 · 0 评论 -
Objective-C中@class和#import的区别
1. import会包含这个类的所有信息,包括实体变量和方法,而@class只是告诉编译器,其后面声明的名称是类的名称,至于这些类是如何定义的,暂时不用考虑,后面会再告诉你。2. 如果有循环依赖关系,如:A->B,B->A这样的相互依赖关系,如果使用#import来相互包含,那么就会出现编译错误,如果使用@class在两个类的头文件中相互声明,则不会有编译错误出现。所以,一般来说,@cla原创 2013-06-10 11:40:37 · 1024 阅读 · 0 评论 -
[self alloc]和[[self class] alloc]的区别
采用 [[self class] alloc] 时,如果类派生了子类,产生的将是类型相同的子类对象,而不是基类对象,好的版本采用“id newInstance =[[sefl] init);“,而优秀的版本采用“id newInstance =[[[self class] alloc ] init);”。原创 2013-01-04 17:34:00 · 4994 阅读 · 1 评论 -
@synthesize obj=_obj的理解
一种写法:@property (nonatomic, retain) NSString *idd;@property (nonatomic, retain) NSString *name;@synthesize idd,name;另外一种写法:@property (nonatomic, retain) NSString *idd;@property (nonatomic, re原创 2013-01-06 11:42:20 · 892 阅读 · 1 评论 -
Objective-C 中对象的创建和使用
oc中的对象通过指针来声明。如:ClassA *object;oc中对象的创建,使用alloc来创建一个对象。编译器会给object对象分配一块可用的内存地址。然后需要对对象进行初始化即调用init方法,这样这个对象才可以使用。。如:Person *person = [Person alloc];person = [person init];同一个类的每个对象有不同的实例变原创 2012-12-30 14:48:02 · 835 阅读 · 0 评论 -
Objective-C 中的类的声明和实现
类的声明:用@interface来声明一个类,冒号表示继承关系,冒号后面的是类的父类。NSObject是所有类的父类。用@end关键字结束。@interface Person:NSObject{ //实例变量声明 int identify; int age;}//方法声明- (id) init WithAge:(int) _ag原创 2012-12-30 13:08:42 · 1820 阅读 · 0 评论 -
Objective-C 中的方法的调用
oc语言中采用特定的语言调用类或者实例(对象)的方法称为发送消息或者方法调用。oc中方法的调用有两种:[类名或对象名 方法名];[ClassOrInstance method];[ClassOrInstance method:arg1];[ClassOrInstance method1:arg2 method2:arg2];[[C原创 2012-12-30 13:56:35 · 8501 阅读 · 0 评论 -
Objective-C 中的NSLog
NSLog使用格式如下:NSLog(@"Hello World");NSLog(@"the word is:%@",string);NSLog(@"a=%d,y=%d",10,20);不能这样写:int i = 123;NSLog(@"%@",i);因为i不是对象,%@需要输出的是对象,改正后:int i = 123;NSLog(@"%d",原创 2012-12-30 15:09:01 · 7522 阅读 · 0 评论 -
Objective-C 面向对象的基本概念——指针
oc语言中除了基本数据类型之外的变量类型都为指针类型,对象是通过指针对其进行操作的。NSString *S; //声明了一个NSString类型的指针变量,但它并没有指向任何一个对象。s = [[NSString alloc] initWidthString:@"Hello World"]; //使用alloc方法创建了一个NSString类型的对象并用s指向它原创 2012-12-30 14:38:49 · 2700 阅读 · 0 评论 -
Objective-C中的NSNumber数字对象
有时我们会需要把基本数据类型转换成对象来处理,比如,把基本类型放入到集合中(cocoa中集合只能存放对象,无法存放基本数据类型),OC中提供了数字对象“NSNumber”可以将基本数据类型“包装”成对象。NSNumber的父类是NSValue。1. 数字对象的初始化//类方法创建数字对象,不需要内存管理int number = 10;NSNumber *intNumber = [NSN原创 2013-06-17 14:47:19 · 4476 阅读 · 1 评论