2012-04-20 10 views
0

Webサーバーに格納されたテキストファイルを読み込んでテキストビューで表示する方法を試していました。私はAppleのウェブサイトNSURLConnectionからNSURLConnectionとreceiveDataを確立し、受信したデータを表示する方法のドキュメントに従ってきました。整数型変換へのポインタが互換性がありませんviewcontroller *をBOOL型のパラメータに送信

私は、ボタンクリックでテキストビューをロードするボタンを作成しました。そのために私はこの方法

- (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ファイルに警告取得しています: Warning Screenshot

それが正常に動作し、私はテキストを表示することができますテキストビューでは、私は間違いをどこにしているのだろうと思っています。もし誰かがこれにいくつかの光を投げれば、助けになるでしょう。

または、ボタンをクリックしてウェブからコンテンツを読み込む方法があります。どんな助けもありがとうございます。

おかげ

答えて

0
BOOL someBOOLVariableOrParameter = ...; // YES or NO 
[self loadWeb:someBOOLVariableOrParameter]; 

selfはオブジェクトではなく、BOOL値へのポインタです。

[self loadWeb: YES]; 

あなたの方法では、パラメータを使用しているように見える場合を除いて、あなたもそれを取り除くことができます。

[self loadWeb]; 

- (void)loadWeb 
{ 
    // all the stuff inside 
} 

それはあなたのために働いていた理由は、a)は、あなたはパラメータを使用していなかった、b)はコンパイラが自動的にすべてが、少なくともをオフにチョッピングでBOOLへselfを変換しますポインタの有効バイト。このパラメータを使用していた場合は、ほとんどの場合YESとなりましたが、偶然にNOとなることがありました。

+0

ありがとうございましたJeremy、シンプルに見えましたが、有益でした、あなたの答えを受け入れました – 125369

0

にObjCのBOOLは本当のブールタイプではありません。 signed charのtypedefです。

メソッドのシグネチャは次のとおりです。

- (void)loadWeb:(BOOL)animated 

意味を成さないし、それが本当のbool変換ではありませんん[self loadWeb:self];表現。コンパイラは、ポインタをsigned charに変換していることを警告します。

それはいずれかの読み込みする必要があります。

[self loadWeb:YES]; 

- または -

[self loadWeb:NO]; 

- または -

関連する問題