2012-04-20 66 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

self是指向的對象,而不是一個BOOL值。你應該這樣做:

[self loadWeb: YES]; 

除了你的方法似乎沒有使用該參數,所以你也可以擺脫它。

[self loadWeb]; 

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

它的工作對你來說是)你不使用參數,B),編譯器會自動轉換self成斬去所有,但至少BOOL原因指針的重要字節。如果你一直在使用這個參數,大部分時間偶然會是YES,偶爾它偶爾會是NO

+0

謝謝傑里米,看起來很簡單,但內容豐富,接受了你的回答 – 125369 2012-04-20 12:53:07

0

ObjC的BOOL是不是一個真正的布爾類型。它是一個signed char的typedef。

方法的簽名是:

- (void)loadWeb:(BOOL)animated 

表達[self loadWeb:self];沒有意義,這是不是一個真正的bool轉換。編譯器會提醒您,您正在將指針轉換爲signed char

它應顯示任一:

[self loadWeb:YES]; 

- 或 -

[self loadWeb:NO]; 

- 或 -

BOOL someBOOLVariableOrParameter = ...; // YES or NO 
[self loadWeb:someBOOLVariableOrParameter]; 
相關問題