NSString для NSURL?

Попытка конвертировать строку в NSURL, и этого не происходит.

barcodeTextLabel.text = foundCode.barcodeString;
urlToGrab = [NSString stringWithFormat:@"%@", foundCode.barcodeString]; // foundCode.barcodeString is an NSString

urlToGrab показывает следующую ошибку с ошибкой CFStringRef

Ответ 1

Вот как вы создаете NSURL из NSString:

NSURL *url = [NSURL URLWithString:@"http://www.google.com"];

Ответ 2

Если foundCode.barcodeString - это строка, которую вы хотите использовать в качестве своего URL-адреса, то (например, вышеупомянутый ответ) используйте метод класса NSURL URLWithString:(NSString *).

Ваш код должен выглядеть так:

NSURL urlToGrab = [NSURL URLWithString:foundCode.barcodeString];

Где ваша ошибка входит в игру? Как ваш код, urlToGrab является экземпляром NSString. Я бы предположил, что вы получите ошибку, как вы описали, если попытаетесь сделать HTTP-запрос на NSString, а не NSURL.

Ответ 3

Вы можете использовать следующее для создания пути к URL-адресу.

NSURL *yourURL = [NSURL fileURLWithPath:@"/Users/xyz/Desktop/abc.sqlite"];

Ответ 4

Ответ Swapnali patil работает, но я добавлю объяснение.

Вы получите nil, если формат NSString не соответствует критериям файла для NSURL (file:///xxx/file.ext).

Мои потребности заключались в загрузке JPG-изображения через путь к файлу URL-адреса в nsdata; NSURL * u=[[NSURL alloc] initWithString:fpath] возвращает nil, но NSURL *yourURL = [NSURL fileURLWithPath:fpath], как в упомянутом ответе. URL-адрес для файлов будет file:///users/xxx/pic.jpg format и предоставить доступ к диску. NSURL * u=[[NSURL alloc] initWithString:(NSString*) ] также даст объект nil, если nsstring - это веб-URL, но если отсутствует http://