2011-11-14 12 views
10

文字列をNSURLに変換しようとしていますが、これは起こっていません。NSStringからNSURL?

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

urlToGrabこれは、あなたがNSStringからNSURLを作成する方法で、次の "エラー無効CFStringRef"

+0

が不足してuはurlToGrabのようないくつかのより多くの詳細をウルのコードを与えることができる場合は、あなたが '+ stringWithFormatからNSURLを得ることを期待するにはどうすればよいのDataType –

+2

のワットの種類に属します。 'メソッド? – Caleb

答えて

35

を示しています。そして、

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

NSURLはオブジェクトなので、*が見つかりません。 NSURL * url – jomafer

+2

ありがとう、それを修正しました – Dimme

0

foundCode.barcodeStringはあなたのURLとして指定する文字列の場合(上記の回答のように)NSURLクラスメソッドURLWithString:(NSString *)を使用してください。

あなたのコードは次のようになります。

あなたのエラーがプレイするに来ている
NSURL urlToGrab = [NSURL URLWithString:foundCode.barcodeString]; 

?あなたのコードは、urlToGrabはNSStringのインスタンスです。 NSURLではなく、NSStringでHTTPリクエストを作成しようとすると、あなたが説明したようなエラーが発生すると思います。

0

urlへのファイルパスを作成するために、以下を使用できます。

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

スワップナリパイルの答えが働きますが、私は説明を追加します。

NSStringの形式がNSURL(file:///xxx/file.ext)のファイル条件に適合しない場合、nilが返されます。

私の必要条件は、URLファイルパスを介してJPGイメージをnsdataにロードすることでした。 NSURL * u=[[NSURL alloc] initWithString:fpath]はnilを返されましたが、前述の回答のようにNSURL *yourURL = [NSURL fileURLWithPath:fpath]が働いていました。ファイルのURLはfile:///users/xxx/pic.jpg形式で、ディスクにアクセスできます。 NSURL * u=[[NSURL alloc] initWithString:(NSString*) ]もNSStringのがウェブURLである場合はnilオブジェクトを与えるがhttp://