Objective c 指向整数转换的不兼容指针将viewcontroller*发送到BOOL类型的参数
我正试图解决如何读取存储在web服务器上的文本文件并在文本视图中显示内容的问题。我遵循了苹果网站上关于如何建立NSURL连接、接收数据和显示接收数据的文档 我已经创建了一个按钮,我想在点击按钮时加载文本视图。为此我写了这个方法Objective c 指向整数转换的不兼容指针将viewcontroller*发送到BOOL类型的参数,objective-c,ios5,xcode4.2,Objective C,Ios5,Xcode4.2,我正试图解决如何读取存储在web服务器上的文本文件并在文本视图中显示内容的问题。我遵循了苹果网站上关于如何建立NSURL连接、接收数据和显示接收数据的文档 我已经创建了一个按钮,我想在点击按钮时加载文本视图。为此我写了这个方法 - (void)loadWeb:(BOOL)animated { NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://nowayweb.com/myt
- (void)loadWeb:(BOOL)animated
{
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://nowayweb.com/mytext.txt"] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:30.0];
NSURLConnection *myConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
if (myConnection) {
downloadedData = [[NSMutableData data] retain];
}
else{
NSLog(@"Error");
}
}
但是我在我的.m文件中得到一个警告,可以在屏幕截图中看到,如下所示:
它工作正常,我可以在文本视图中查看文本,但我想知道我在哪里犯了错误。如果有人能解释这件事,那会很有帮助的
或者有没有更好的方法通过单击按钮从web加载内容。感谢您的帮助
谢谢ObjC的
BOOL
不是真正的布尔类型。它是签名字符的typedef
该方法的签名为:
- (void)loadWeb:(BOOL)animated
表达式[self-loadWeb:self]代码>没有意义,也不是真正的bool
转换。编译器警告您正在将指针转换为有符号字符
应改为:
[self loadWeb:YES];
-或-
-或-
self
是指向对象的指针,而不是布尔值。您应该这样做:
[self loadWeb: YES];
不过,您的方法似乎无论如何都不使用该参数,因此您最好将其删除
[self loadWeb];
及
它对您有效的原因是a)您没有使用该参数,b)编译器将自动将self
转换为BOOL,方法是将指针中除最低有效字节外的所有字节都切掉。如果您一直在使用该参数,大多数情况下它会是是
偶然的,偶尔也会是否
偶然的。谢谢Jeremy,看起来很简单,但信息丰富,接受了您的答案
[self loadWeb: YES];
[self loadWeb];
- (void)loadWeb
{
// all the stuff inside
}