Objective c 指向整数转换的不兼容指针将viewcontroller*发送到BOOL类型的参数

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

我正试图解决如何读取存储在web服务器上的文本文件并在文本视图中显示内容的问题。我遵循了苹果网站上关于如何建立NSURL连接、接收数据和显示接收数据的文档

我已经创建了一个按钮,我想在点击按钮时加载文本视图。为此我写了这个方法

- (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
}