本文主要是介绍iOS开发中子类指针指向父类指针,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在iOS开发中我们知道父类指针可以指向子类对象,这是OC的多态。可以当我们将子类指针指向父类对象会发生什么呢?
代码:
LSString * str2 = [NSString stringWithFormat:@"2"];
NSLog(@"%@", str2);
LSString是继承自NSString的一个子类,当写出上面代码的时候会有一个 警告:Incompatible pointer types initializing 'LSString *' with an expression of type 'NSString *'。这是因为str2指针类型和NSString *类型不相同,这是需要我们对后者进行一个强转,代码:// 子类指针指向父类需要进行强转
LSString * str2 = (LSString *)[NSString stringWithFormat:@"2"];
NSLog(@"%@", str2);
这样就不会有警告了。
这篇关于iOS开发中子类指针指向父类指针的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!