0

我有一个正在构建的主/详细视图应用程序。UIWebView基本上它在主视图的表中有一个列表,当用户选择一个项目时,它将在详细视图中显示一个网页。将需要加载大约 6 个不同的网站以响应表中的 6 个对象。我的代码工作到一定程度,但是它正在为表中的每个项目加载相同的网页。我认为最好编写一个 switch case 语句来告诉它要加载哪个网页等。我使用以下代码在以下位置启动我的网页WebView

//create the UIWeb objects
NSString *standardForm = @"http://jeremy.atkin.id.au";
NSString *csiroForm = @"http://www.csiro.gov.au";
NSString *kpmgForm = @"http://www.kpmg.com.au";
NSString *pacbrandsForm = @"http://www.pacbrands.com.au";
NSURL *url = [NSURL URLWithString:standardForm];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[_formView loadRequest:requestObj];

然后,我尝试将 switch case 语句放在一起,但似乎做出了错误的声明并不断出错......

switch (_formNumber)
{
    case 0:
        standardForm.url = standardForm;
        break;
    case 2:
        url.URLWithString = csiroForm;
        break;
    case 3:
        url.URLWithString = kpmgForm;
        break;
    case 4:
        url.URLWithString = pacbrandsForm;
        break;
}

任何帮助和指导以使其正常工作将不胜感激。我以前从未构建过主/详细应用程序,所以我想我直接跳到了最深处!!干杯

4

2 回答 2

0

您只需更改 UITableView Didselectmethod 中的 URL。

于 2013-02-14T07:15:47.843 回答
0

将链接添加到一个 NSArray ,然后根据 tableviewCell 选择的索引创建 url 并使用请求加载您的 webview。

1)在master中为urlList创建一个属性

@property (nonatomic, retain) NSArray *urlList;

然后在实现中综合。

@synthesize urlList;

2)在你的 init 或 viewDidLoad 中初始化数组

self.urlList = [[NSArray alloc]initWithObjects:@"http://jeremy.atkin.id.au",@"http://www.csiro.gov.au", @"http://www.kpmg.com.au",@"http://www.pacbrands.com.au",nil];

3)在 didSelectRowAtIndexPath:index 创建请求并加载您的网络视图。

NSURLRequest * request = [[NSURLRequest alloc]initWithURL:[[NSURL alloc]initWithString:[urlList objectAtIndex:indexPath]]];
[_formView loadRequest:request];

不要忘记在 dealloc 中释放(保留对象)。如果使用 arc,则将属性中的保留更改为强。

于 2013-02-14T07:45:14.057 回答