Objective-C将基类对象转换为特定的类
发布时间:2020-12-16 10:22:07 所属栏目:百科 来源:网络整理
导读:我在目标C中非常新,我想知道我想做什么/如何做是可能的. 我有几节课 @interface A: NSObject{ NSString* Aa; NSUInteger Ab;} @interface B: A{ NSString* Ba; NSUInteger Bb;} @interface C: A{ NSString* Ca; NSUInteger Cb;} 我想创建一个函数,我期望’A
我在目标C中非常新,我想知道我想做什么/如何做是可能的.
我有几节课 @interface A: NSObject { NSString* Aa; NSUInteger Ab; } @interface B: A { NSString* Ba; NSUInteger Bb; } @interface C: A { NSString* Ca; NSUInteger Cb; } 我想创建一个函数,我期望’A’类型的对象,并在实现中检查它们的类型后来是否为B或C.这就是我想要的: -(void)doSomething:(A *param) { //do some stuff if(param is an inscance of B) { //do stuff with B } else { //do stuff with C } } 怎么做到呢? 此致 佐利 解决方法
检查NSObject的方法isKindOfClass:(Class)c
你会这样做: -(void)doSomething:(A *)param { //do some stuff if([param isKindOfClass:[B class]]) { //do stuff with B (cast will be required to avoid warnings!) B *castedB = (B *)param; //... } else if ([param isKindOfClass:[C class]]) { //do stuff with C C *castedC = (C *)param; //... } } 希望这有帮助! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |