Objective-C将基类对象转换为特定的类

Objective-C将基类对象转换为特定的类,第1张

概述我在目标C中非常新,我想知道我想做什么/如何做是可能的. 我有几节课 @interface A: NSObject{ NSString* Aa; NSUInteger Ab;} @interface B: A{ NSString* Ba; NSUInteger Bb;} @interface C: A{ NSString* @H_419_0@ @H_419_0@ 我在目标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;        //...    }}

希望这有帮助!

@H_419_0@ 总结

以上是内存溢出为你收集整理的Objective-C将基类对象转换为特定的类全部内容,希望文章能够帮你解决Objective-C将基类对象转换为特定的类所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1219647.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存