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 去掉代码中其他地方的空格。
在我的 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 去掉代码中其他地方的空格。