在iOS中的文本文件中读取URL后加载NSURL?

sun*_*nny 0 iphone objective-c nsurl text-files ios

我在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];
Run Code Online (Sandbox Code Playgroud)

NSString*myContent是实际链接:@"https://www.mysite.com

现在我通过NSURLRequest加载内容,如下所示:

   NSURLRequest *request2 = [NSURLRequest requestWithURL:
                             [NSURL URLWithString:myContent]]; 
           [[NSURLConnection alloc] initWithRequest:request2 delegate:self];
Run Code Online (Sandbox Code Playgroud)

我得到的问题/错误:

      Connection failed: Error Domain=NSURLErrorDomain Code=-1000 "bad URL" UserInfo=0xfe75cc0 {NSUnderlyingError=0xfe86ac0 "bad URL", NSLocalizedDescription=bad URL}
Run Code Online (Sandbox Code Playgroud)

但是,如果[NSURL URLWithString:myContent]]; 用字符串替换为[NSURL URLWithString:@"https://www.mysite.com"]],然后连接工作.

这里发生了什么事?为什么我不能只将文本文件中的url加载到我的URLWithString参数中?

bit*_*com 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];
//                                                                  ^
Run Code Online (Sandbox Code Playgroud)