我正在尝试推送到新视图并在该视图中向webview发送网址,但它没有获取网址请求。 storyLink是在早些时候声明的,但即使我尝试请求http://www.google.com它也不起作用,所以我知道问题是由于某种原因它不接受url。
DetailViewController *newviewController=[[[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil]autorelease];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:storyLink]];
[newviewController.rssview loadRequest:request];
[self.navigationController pushViewController:newviewController animated:YES];
答案 0 :(得分:0)
最好在NSURL的下一个视图中声明一个属性,并从父视图设置值。
例如,在DetailViewController.h文件中设置以下代码
@interface DetailViewController : UIViewController
{
NSURL *request;
}
@property (nonatomic, assign) NSURL *request;
在DetailViewController.m文件中...... @synthesize请求;
并修改您当前的代码,如下所示......
DetailViewController *newviewController=[[[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil]autorelease];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:storyLink]];
newviewController.request = request;
//[newviewController.rssview loadRequest:request];
[self.navigationController pushViewController:newviewController animated:YES];
参考您的代码......:
以下是您必须在代码中修改的一些遗漏内容,它将开始正常工作。
为UIWebview控件设置委托。
self.rssview.delegate = self;
[self.rssview loadRequest:self.request];
在DetailViewController.h中,修改以下行。
@interface DetailViewController : UIViewController <UIWebViewDelegate>
{
IBOutlet UIWebView *rssview;
NSURLRequest *request;
}
@property(nonatomic, retain, readonly)UIWebView *rssview;
@property (nonatomic, assign) NSURLRequest *request;
@end
在DetailViewController.m中添加UIWebview的委托方法,如下所示...
- (BOOL)webView:(UIWebView *)myWebView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
return YES;
}
替换
中的以下代码- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
int storyIndex = [indexPath indexAtPosition: [indexPath length] - 1];
NSString * storyLink = [[stories objectAtIndex: storyIndex] objectForKey: @"link"];
// clean up the link - get rid of spaces, returns, and tabs...
storyLink = [storyLink stringByReplacingOccurrencesOfString:@" " withString:@""];
storyLink = [storyLink stringByReplacingOccurrencesOfString:@"\n" withString:@""];
storyLink = [storyLink stringByReplacingOccurrencesOfString:@" " withString:@""];
storyLink = [storyLink stringByAddingPercentEscapesUsingEncoding: NSStringEncodingConversionAllowLossy];
NSLog(@"link: %@", storyLink);
if(indexPath.row==0)
{
DetailViewController *newviewController=[[[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil]autorelease];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:storyLink]];
//[newviewController.rssview loadRequest:request];
newviewController.request = request;
[self.navigationController pushViewController:newviewController animated:YES];
}
else
{
DetailViewController *newviewController=[[[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil]autorelease];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:storyLink]];
//[newviewController.rssview loadRequest:request];
newviewController.request = request;
[self.navigationController pushViewController:newviewController animated:YES];
}
}