我有以下代码将URL传递给加载URL的目标控制器
StoreURLViewController.m
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:@"continueToStore"])
{
StoreWebViewController *controller = (StoreWebViewController *)segue.destinationViewController;
NSString *url = self.storeUrl.text;
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:url forKey:@"storeUrl"];
[defaults synchronize];
controller.storeUrl = [StoreUrlViewController checkAndPrependProtocolForApiUrl:url];
NSLog(@"%@", controller.storeUrl);
}
}
我有以下代码检查它是否有网址并加载网页视图
StoreWebViewController.m
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"%@",self.storeUrl);
if (self.storeUrl != nil)
{
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[StoreWebViewController checkAndPrependProtocolForUrl:self.storeUrl]]]];
self.webView.delegate = self;
}
}
在模拟器上,URL是一个字符串并加载网页,但在设备上它是零并且不加载页面。
输入http://google.com的设备输出
2014-02-25 14:05:48.883 PHP Point Of Sale[2784:60b] (null)
2014-02-25 14:05:48.970 PHP Point Of Sale[2784:60b] (null)
http://google.com的模拟器输出
2014-02-25 14:09:10.703 PHP Point Of Sale[31811:70b] http://google.com
2014-02-25 14:09:10.775 PHP Point Of Sale[31811:70b] http://google.com
答案 0 :(得分:0)
我对storeUrl有一个弱引用。我将它改为强,现在它可以在模拟器和设备中使用。