在键入字符串url时加载目标c / cocoa web视图,但在传递NSString时不加载*

时间:2015-04-20 18:30:46

标签: ios objective-c cocoa-touch webview 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];
}

打印出来:"这是网址http://google.com"。

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

1 个答案:

答案 0 :(得分:0)

所以意识到网址末尾有空格,直到打印出来之前我都没有注意到:

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

请注意我最后添加的时间段。我在那里有空格,因此我的网址无效。我不得不在代码中的其他地方删除空白。