0

iOS の My Documents フォルダーに、@"https://www.mysite.com" のようなリンクを含むテキスト ファイルがあります。

次の方法でファイルを正常に読み取ることができます。

  //READ TEXT FILE:

    NSArray *paths5 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory5 = [paths5 objectAtIndex:0];
    NSString *filePath5 = [documentsDirectory5 stringByAppendingPathComponent:@"mytext.txt"];
    NSString *myContent = [NSString stringWithContentsOfFile:filePath5 encoding:NSUTF8StringEncoding error:NULL];

NSString *myContent は実際のリンクです: @"https://www.mysite.com

今、私は次のように NSURLRequest 経由でコンテンツをロードします:

   NSURLRequest *request2 = [NSURLRequest requestWithURL:
                             [NSURL URLWithString:myContent]]; 
           [[NSURLConnection alloc] initWithRequest:request2 delegate:self];

私が得る問題/エラー:

      Connection failed: Error Domain=NSURLErrorDomain Code=-1000 "bad URL" UserInfo=0xfe75cc0 {NSUnderlyingError=0xfe86ac0 "bad URL", NSLocalizedDescription=bad URL}

しかし、If [NSURL URLWithString:myContent]]; [NSURL URLWithString:@"https://www.mysite.com"]] などの URL 文字列に文字通り置き換えられた場合、接続は機能します。

ここで何が起こっているのですか?テキスト ファイルの URL を URLWithString パラメータにロードできないのはなぜですか?

4

1 に答える 1

6

テキスト ファイルのサイズは、巨大でない場合は、以下の妥当なサイズを使用できます。テキスト ファイルは utf8 エンコーディングである必要があります。エンコーディングが異なる場合は、適切なエンコーディングを設定する必要がありますline3

NSString *urlString = @"http://www.blahblah.com/myText.txt";
NSURL *myURL = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSString *string = [NSString stringWithContentsOfURL:myURL encoding:NSUTF8StringEncoding error:nil];
//                                                                  ^
于 2012-08-15T04:52:28.920 に答える