我无法破译“从不同的 Objective-C 类型警告传递参数......”。
我有一个常量字符串声明为:
extern NSString * const URL_1;
并定义为:
NSString * const URL_1 = @"http://someurl";
例如,如果我将该常量分配给 NSString,如下所示:
NSString *URL = nil;
...
URL = [[NSString alloc] initWithString:URL_1];
并将这个 NSString 作为参数传递给期望 NSString 的函数:
ViewController *viewController = [[ViewController alloc] initWithURL:URL];
函数签名:
- (id)initWithURL:(NSString *)URL
我收到一条警告,提示我“正在传递 'initWithURL' 的参数 1:来自不同的 Objective-C 类型”
据我了解,NSString 对象在创建后是不可变的,并且我在创建时将值分配给字符串,所以我不明白为什么 URL_1 的常量性质会导致问题。
我确信我在这里是一个甜甜圈,忽略了一些简单的事情!请问有人可以帮我解决这个警告吗?提前谢谢了!