2013-05-26 95 views
0

我有一些代碼,我用來打開文本文件,它運作良好,但現在它的一些部分已棄用,所以我改變它們使其工作沒有任何錯誤。 我完成了,這是工作的罰款新的代碼,但它給我,我可以不知道如何解決它警告... 這裏是我的代碼:不兼容的指針類型警告使用NSOpenPanel

-(IBAction)openMyFile:(id)sender 
{ 
    int i; 

    NSOpenPanel* openDlg = [NSOpenPanel openPanel]; 

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 
    NSURL *myUrl = [NSURL fileURLWithPath:documentsDirectory]; //before here I had setDirectory but now is deprecated 
    [openDlg setDirectoryURL:myUrl]; 

    [openDlg setCanChooseFiles:YES]; 

    [openDlg setCanChooseDirectories:YES]; 


    if ([openDlg runModal] == NSOKButton) 
    { 

     NSArray* files = [openDlg URLs]; // here I had [openDlg filenames] but now is deprecated 

     for(i = 0; i < [files count]; i++) 
     { 
      NSString* fileName = [files objectAtIndex:i]; 

      NSString *content = [NSString stringWithContentsOfURL:fileName encoding:NSUTF8StringEncoding error:nil]; //HERE IS WHERE I GET THE WARNING 
     } 
    } 
} 

我得到警告說, :

不兼容的指針類型發送「的NSString * __強」到類型的參數「NSURL *」

和它出來時,我試圖通過的文件中的NSString *內容的內容,但無論如何內容是充滿了文件的內容......一切接縫處的工作好... 任何幫助將是非常讚賞...和平 - 馬西

+1

你傳遞一個NSString,其中一個NSURL預計.. – d4Rk

+0

你說的沒錯......我只是不得不改變的NSString與NSURL,這是確定...感謝! – Blue

回答

0

[openDlg URLs]返回網址,不字符串數組:

NSArray *files = [openDlg URLs]; 
for(i = 0; i < [files count]; i++) 
{ 
    NSURL *fileURL = [files objectAtIndex:i]; 
    NSString *content = [NSString stringWithContentsOfURL:fileURL encoding:NSUTF8StringEncoding error:nil]; 
} 
+0

感謝您的幫助... d4Rk指引我朝着正確的方向......但是當您將解決方案作爲答案編寫時,我會將您的解答作爲「綠色解決方案」。 再次感謝...和平 - 馬西 – Blue

相關問題