objective-c语法学习:异常处理

OC类中的一些方法

-(BOOL)isKindOfClass:(Class)aClass;  //对象是不是aClass这个类或者是子类的成员

-(BOOL)isMemberOfClass:(Class)aClass;  //对象是不是aClass这个成员
-(BOOL)isSubclassOfClass:(Class)aClass;  //对象是不是aClass的子类
-(BOOL)respondsToSelector:(SEL)aSelector;  //对象是否能相应aSelector指定的方法
-(BOOL)performSelector:(SEL)aSelector;  //对象调用aSelector指定的方法
-(BOOL)performSelector:(SEL)aSelector;  //对象调用aSelector指定的方法,传递参数object
        withObject:(id)object;
-(BOOL)performSelector:(SEL)aSelector;  //对象调用aSelector指定的方法,传递参数object1和object2
        withObject:(id)object;
        withObject:(id)object;


if([audi isKindOfClass:[Car class]]) {
    NSLog(@"audi is a kind of Car");
}
//判断对象audi是不是Car这个类或它的成员


if([car respondsToSelector:@selecotr(run)]) {
    NSLog(@"car responds to run method");
}
//判断car对象是否响应@selector指定的方法




SEL action;
action = @selector(run);
[car performSelector:action];
等同于
[car performSelector:@selector(run)];


if([Audi class] == [Benz class])//判断这两个类是不是同一个类


oc的异常处理
好的编程时能预测程序运行过程中可能出现的问题
使用@try处理异常
@try...
@catch..
@finally..


//oc中的异常处理
@try {
    [car noSuchMethod];
}
@catch (NSException *exception) {
    NSLog(@"catch exception %@ %@", [exception name], [exception reason]);
    //...编写代码,记录这个日志
}
@finally {
    //code
}

你可能感兴趣的:(objective-c语法学习:异常处理)