Objective c/cocoa 网络视图在输入字符串时加载 url 但在传递 NSString 时不加载*

Objective c/cocoa web view loading when typing string url but not when passing NSString*

在我的 DetailViewController.h 文件中,我声明了一个 NSString * 属性:

@property (copy, nonatomic) NSString *url;

在我的 DetailViewController.m 文件中,我有:

- (void)viewDidLoad {
    [super viewDidLoad];
    NSURL *myURL = [NSURL URLWithString:@"http://google.com"];
    NSURLRequest *request = [NSURLRequest requestWithURL:myURL];
    [self.webView loadRequest:request];
}

这会在我的网络视图中加载 google.com,但以下代码不会:

- (void)viewDidLoad {
    [super viewDidLoad];
    NSString *url = self.url;
    NSLog(@"this is url %@", url);
    NSURL *myURL = [NSURL URLWithString:url];
    NSURLRequest *request = [NSURLRequest requestWithURL:myURL];
    [self.webView loadRequest:request];
}

打印出:"this is url http://google.com".

url 和@"http://google.com" 都是 NSString* 对象,但为什么第一个编码加载网站而第二个编码没有?

所以意识到 url 末尾有空格,直到打印出来我才注意到:

NSLog(@"this is url %@.", url); 

注意我最后添加的句点。我在那里有空格,因此使我的 url 无效。我不得不 trim 去掉代码中其他地方的空格。