2013-03-07 2 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 точке. Я пробовал и использовал указатель на предопределенный объект ошибки как nil или NULL, но то же самое происходит. У кого-нибудь есть идеи или советы.

+0

Проверьте документацию, метод вы используете возвращает кодирования по ссылке. Вероятно, вы ищете это вместо этого - '(id) initWithContentsOfURL: (NSURL *) кодировка url: (NSStringEncoding) ошибка enc: (NSError **) error' и использование NSUTF8StringEncoding. – Rog

ответ

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

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

все еще получает разрыв потока на линии NSError. Спасибо Monolo – user1548284

+0

Ahhh !! * Указатель ошибок использовался в другом месте! Теперь все работает. Огромное спасибо всем. Оба фрагмента кода отлично работают. Благодарю. – user1548284

1

Обе ошибки и кодирование должно быть передать так:

NSError *error = nil; 
NSStringEncoding encoding = nil; 

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

Спасибо. Пробовал это, скопировав свой код и теперь получив разрыв потока в NSError * error = nil; Но спасибо. Возможно, что-то есть в другом месте. – user1548284

+0

Это неправильный подход. 'encoding' не должен быть указателем. – rmaddy

+0

Извините, сумасшедший. Я новичок в obj-c и ios. Можете быть более конкретными. – user1548284

Смежные вопросы