1.判断某个对象属于它的类或它的子类-(BOOL)isKindOfClass:classObj
2.判断某个对象属于它的类不包括子类-(BOOL)isMemberOfClass:classObj
3.判断对象是否能响应某个消息-(BOOL)respondsoSelector:selector
4.判断一个类是否能响应某个消息+(BOOL)instanceRespondToSelector:selector
5.调用对象的selector方法-(id)performSelector:selector
1.Category:用来向类中添加一些新的方法
2.Protocol用<>表示,用来表示类似纯虚类的概念
3.消息的转发-(void)forwardInvocation:(NSInvocation*)anInvocation
1.外部类型的声明@class someObject;
2.一般类的声明
@interface someObject:NSObject
{
int i;
}
-(id)someMethod:(int)someArg someOtherArgName:(int)someOtherArg;
+(id)someMethod:(int)someArg;
-(id)init;
@property int num;
@end
3.一般类的实现
@impementation someObject
-(id)someMethod:(int)someArg someArgName:(int)someOtherArg
{
//do something
}
@synthesize num = i;
@end
1.类的方法的调用
[someObject someMethod:firstArg someOtherArgName:otherArg]
2.类的实例化和初始化
someObject *obj = [someObject new];
someObject *obj = [[someObject alloc]init];
someObject *obj = [[someOnject alloc]initWithArg:arg];
2.@property访问成员变量的接口
@interface someObject:NSObject
{
int i;
}
@property (assign,readonly)int num;
@end
3.@protocol关键字
协议的定义
@protocol someProtocol
-(void)someMethod;
@end
使用协议
@interface someObject:NSObject<someProtocol>