我无法破译“路过的说法......从不同的Objective-C型警告”。帮助破译一个NSString“路过的说法......从不同的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:从不同的目标C型”
据我所知NSString对象是创建后不可变,并且在创建时将值赋给字符串,所以我不明白为什么URL_1的常量性质会导致问题。
我相信我在这里是甜甜圈和忽略了简单的东西!请有人帮我解决这个警告?提前谢谢了!
我敢肯定,去掉“常量”会杀了这个问题,但还不足以发布它作为一个答案。 – zneak 2010-01-17 20:09:11
是的,我也会这么想,但似乎没有什么区别。 – 2010-01-17 20:12:17
你确定没问题,你的initWithURL:方法接受一个字符串而不是NSURL? – zneak 2010-01-17 20:15:18