这段代码会有什么问题?
NSString *string = [[NSMutableArray alloc]init];
[string stringByAppendingString:@"abc"];
[string addObject:@"abc"];
1.字符串类型指针指向数组, 编译器警告⚠️
Incompatible pointer types initializing 'NSString *' with an expression of type 'NSMutableArray *'
2.string运行时为可变数组, 没有stringByAppendingString方法 (去掉第三行运行) 直接崩溃
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM stringByAppendingString:]: unrecognized selector sent to instance 0x60000309d9b0'
3.string调用addObject 方法, 编译期为字符串类型, 不用运行编译期直接报错 ❌
No visible @interface for 'NSString' declares the selector 'addObject:'
网友评论