版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1337726
在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);
这样就不会有警告了。