2013-03-07 96 views
0

我正在更新iOS應用程序以成爲一個好孩子並清除一些廢棄的方法。我一直在使用NSString initWithContentsOfURL,我試圖實施新版本initWithContentsOfURL:usedEncoding:error:NSString initWithContentsOfURL問題

我用我的視圖控制器如下:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    NSURL *url = [[NSURL alloc] initWithString:@"http://myurl.com/directory/file.txt"]; 
    NSError *error; 
    NSStringEncoding *encoding = NULL; 
    NSString *tryString = [[NSString alloc] initWithContentsOfURL:url 
               usedEncoding:encoding 
                 error:NULL]; 
    NSLog(@"string:%@", tryString); 
    [super viewDidLoad]; 
} 

但我不斷收到在error:NULL點斷線。我試過,並使用指向預定義錯誤對象的指針nilNULL,但發生同樣的事情。有沒有人有任何想法或提示。

+0

檢查文件,該方法你使用返回編碼的參考。您可能正在尋找這一個 - 「(id)initWithContentsOfURL:(NSURL *)url編碼:(NSStringEncoding)enc錯誤:(NSError **)錯誤'並使用NSUTF8StringEncoding。 – Rog 2013-03-07 22:13:42

回答

2
NSError *error = nil; 
NSStringEncoding encoding = 0; 

NSString *tryString = [[NSString alloc] initWithContentsOfURL:url 
               usedEncoding:&encoding 
                 error:&error]; 
+0

仍然在NSError行中獲得線程中斷。謝謝Monolo – user1548284 2013-03-07 22:24:30

+0

啊! *錯誤指針在別處使用!現在都在工作。非常感謝大家。這兩個代碼片段都很好。感謝chaps。 – user1548284 2013-03-07 22:26:32

1

兩個錯誤和編碼應該是通過這樣的:

NSError *error = nil; 
NSStringEncoding encoding = nil; 

NSString *tryString = [[NSString alloc] initWithContentsOfURL:url 
               usedEncoding:&encoding 
                 error:&error]; 
+0

謝謝。嘗試通過複製你的代碼,現在得到NSError的線程中斷* error = nil;但是,謝謝。也許別的地方有什麼東西。 – user1548284 2013-03-07 22:15:50

+0

這不是正確的方法。 'encoding'不應該是一個指針。 – rmaddy 2013-03-07 22:28:57

+0

對不起馬迪。我是obj-c和ios的新手。你可以說得更詳細點嗎。 – user1548284 2013-03-07 22:42:49