NSObject 待我称王封你为后i 2022-03-22 11:12 188阅读 0赞 # [NSObject][] # 1.OC动态绑定和动态类型,我们需要使用到NSObject的以下方法: 1 /** 2 检测对象是不是 aClass 或其子类的成员 3 */ 4 - (BOOL)isKindOfClass:(Class)aClass; 5 6 /** 7 检测对象是不是 aClass 的成员 8 */ 9 - (BOOL)isMemberOfClass:(Class)aClass; 10 11 /** 12 检测对象是不是能够响应 aSelector 指定的方法 13 */ 14 - (BOOL)respondsToSelector:(SEL)aSelector; 15 16 /** 17 对象调用 aSelector 指定的方法 18 */ 19 - (id)performSelector:(SEL)aSelector; 20 21 /** 22 对象调用 aSelector 指定的方法,传递参数 object 23 */ 24 - (id)performSelector:(SEL)aSelector withObject:(id)object; 25 26 /** 27 对象调用 aSelector 指定的方法,传递参数 object1、object2 28 */ 29 - (id)performSelector:(SEL)aSelector withObject:(id)object1 withObject:(id)object2; 2.OC中的异常处理,也许你会用到如下代码块 1 @try { 2 // Code that can potentially throw an exception 3 } @catch (NSException *exception) { 4 // Handle an exception thrown in the @try block 5 } @finally { 6 // Code that gets executed whether or not an exception is thrown 7 } 下面来说明以上代码如何使用: // 继承自 NSObject,有个方法 - (void)test; Man *man = [[Man alloc] init]; @try { [man test]; } @catch (NSException *exception) { [exception name]; NSLog(@"Catch exception: %@ %@", [exception name], [exception reason]); // 异常可以抛给服务器 } @finally { // code……… } 1 - (void)test { 2 NSLog(@"test --- "); 3 NSAssert(![self respondsToSelector:@selector(test)], @"Can't execute the method."); 4 } 我们在 Man 的方法中加了一个崩溃代码(测试使用)。 添加上异常处理代码之后,即使我们调用 - (void)test; 方法,程序也不会因此而崩溃。而回打印出异常的原因: 1 2016-04-02 16:36:56.113 OC测试[21899:1428201] test --- 2 2016-04-02 16:36:56.114 OC测试[21899:1428201] *** Assertion failure in -[Man test], /Users/liuxianzhi/Desktop/OC测试/OC测试/Man.m:15 3 2016-04-02 16:36:56.119 OC测试[21899:1428201] Catch exception: NSInternalInconsistencyException Can't execute the method. 因此,使用了异常处理之后,程序会变得更为健壮。 ***尊重作者劳动成果,转载请注明:** [【kingdev】][kingdev]* posted @ 2016-04-02 16:45 [Kingdev][] 阅读( ...) 评论( ...) [编辑][Link 1] 收藏 [NSObject]: https://www.cnblogs.com/xiu619544553/p/5347770.html [kingdev]: http://www.cnblogs.com/xiu619544553/ [Kingdev]: https://www.cnblogs.com/xiu619544553/ [Link 1]: https://i.cnblogs.com/EditPosts.aspx?postid=5347770
相关 OC 项目全局防止因NSArray,NSDictionary,NSObject为nil的时候引起的崩溃 常见错误:NSInvalidArgumentException-[NSNull containsString:]: unrecognized selector sent ... àì夳堔傛蜴生んèń/ 2024年05月03日 14:42/ 0 赞/ 50 阅读
相关 iOS-NSObject 底层本质 一、OC 转 C/C++ 二、NSObject 对象内存布局 三、NSObject 内存大小 四、OC 对象内存布局 五、OC 对象内存大小 一 心已赠人/ 2023年10月18日 10:51/ 0 赞/ 117 阅读
相关 NSObject详解 [NSObject详解][NSObject] NSObject协议中有两个用于判断等同性的关键方法: - (BOOL)isEqual:(id)object ﹏ヽ暗。殇╰゛Y/ 2022年08月08日 14:46/ 0 赞/ 135 阅读
相关 iOS中id与NSObject* 和id<NSObject>的区别 原文: [http://www.devdiv.com/ios\_id\_nsobject\_id\_lt\_nsobject\_gt\_-blog-1-50764.html][ 男娘i/ 2022年08月07日 01:35/ 0 赞/ 206 阅读
相关 继承自NSObject的不常用又很有用的函数(1) load函数 +(void)load 当类被引用进程序的时候会执行这个函数。 在一个程序开始运行之前(在main函数开始执行之前),在库开始被程序加载,load函 冷不防/ 2022年08月01日 03:11/ 0 赞/ 164 阅读
相关 UIKit框架之NSObject 首先学习NSObject // // ViewController.m // localization // // Create Love The Way You Lie/ 2022年03月31日 16:36/ 0 赞/ 192 阅读
相关 NSObject的hash方法 NSObject的hash方法 ![607542-20160415220445441-1616011676.gif][] 说明 本示例仅仅演示一个对象什么时候执行hash 雨点打透心脏的1/2处/ 2022年03月27日 12:53/ 0 赞/ 266 阅读
相关 NSObject [NSObject][] 1.OC动态绑定和动态类型,我们需要使用到NSObject的以下方法: 1 / 2 检测对象是不是 aClass 或其子类 待我称王封你为后i/ 2022年03月22日 11:12/ 0 赞/ 189 阅读
相关 OC底层原理之NSObject > 本系列主要是看完MJ的OC底层原理课程所写的总结,希望自己能加深对iOS底层的了解。 NSObject的本质 NSObject的底层实现就是一个`结构体` ,而且只 曾经终败给现在/ 2022年01月19日 03:23/ 0 赞/ 214 阅读
还没有评论,来说两句吧...