Ответ 1
Вот как вы создаете NSURL
из NSString
:
NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
Попытка конвертировать строку в NSURL, и этого не происходит.
barcodeTextLabel.text = foundCode.barcodeString;
urlToGrab = [NSString stringWithFormat:@"%@", foundCode.barcodeString]; // foundCode.barcodeString is an NSString
urlToGrab показывает следующую ошибку с ошибкой CFStringRef
Вот как вы создаете NSURL
из NSString
:
NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
Если foundCode.barcodeString
- это строка, которую вы хотите использовать в качестве своего URL-адреса, то (например, вышеупомянутый ответ) используйте метод класса NSURL
URLWithString:(NSString *)
.
Ваш код должен выглядеть так:
NSURL urlToGrab = [NSURL URLWithString:foundCode.barcodeString];
Где ваша ошибка входит в игру? Как ваш код, urlToGrab является экземпляром NSString
. Я бы предположил, что вы получите ошибку, как вы описали, если попытаетесь сделать HTTP-запрос на NSString
, а не NSURL
.
Вы можете использовать следующее для создания пути к URL-адресу.
NSURL *yourURL = [NSURL fileURLWithPath:@"/Users/xyz/Desktop/abc.sqlite"];
Ответ 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://