我创建UITableView并且我有3个单元格,因此每个单元格应该推送到DetailViewController以加载特定的URL。在detailViewController上我有UIWebView在用户选择tableView的单元格后加载url,但是我不知道怎么能做这个事情! 。这是我的代码
·H:
#import "webController.h"
@class webController;
@interface RootViewController : UITableViewController <UITableViewDelegate , UITableViewDataSource> {
NSArray *list;
webController *webcontroller;
}
@property (nonatomic , retain) IBOutlet NSArray *list;
@end
的.m:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (!webcontroller) {
webcontroller = [[webController alloc] initWithNibName:nil bundle:nil];
webcontroller.navigationItem.title = [list objectAtIndex:indexPath.row];
[self.navigationController pushViewController:webcontroller animated:YES];
}else {
webcontroller.navigationItem.title=[list objectAtIndex:indexPath.row];
[self.navigationController pushViewController:webcontroller animated:YES];
}
}
答案 0 :(得分:1)
您可以通过各种方法实现这一目标。更简单,最好的方法是在webController类中创建一个属性
@property(nonatomic, retain) NSString *strUrl
然后使用
进行合成 webController.m中的 @synthesize strUrl
现在在
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (!webcontroller) {
webcontroller = [[webController alloc] initWithNibName:nil bundle:nil];
}
webcontroller.navigationItem.title=[list objectAtIndex:indexPath.row];
webcontroller.strUrl = [list objectAtIndex:indexPath.row];
[self.navigationController pushViewController:webcontroller animated:YES];
}
然后使用此strUrl在webview中加载页面。我希望它有所帮助
答案 1 :(得分:1)
我想知道iHS说的话:
最好的方式(在我看来)将有两个NSArray。一个用于显示名称(google,apple,yahoo),然后用于存储特定URL。
所以你可以做这样的事情
在.h:
NSArray *urlArray;
然后在.m中: (修改后的iHS代码)
if (!webcontroller) {
webcontroller = [[webController alloc] initWithNibName:nil bundle:nil];
}
webcontroller.navigationItem.title=[list objectAtIndex:indexPath.row];
webcontroller.strUrl = [urlArray objectAtIndex:indexPath.row]; //Load the url at the specific index in "urlArray"
[self.navigationController pushViewController:webcontroller animated:YES];
发布以下任何问题;)