我需要帮助以下代码我正在使用hpple来解析html。 我需要帮助利用这些数据。
-(void) whatever{
NSData *htmlData = [[NSString stringWithContentsOfURL:[NSURL URLWithString: @"http://www.objectgraph.com/contact.html"]] dataUsingEncoding:NSUTF8StringEncoding];
TFHpple *xpathParser = [[TFHpple alloc] initWithHTMLData:htmlData];
NSArray *titles = [xpathParser search:@"//h3"]; // get the page title - this is xpath notation
TFHppleElement *title = [titles objectAtIndex:0];
NSString *myTitles = [title content];
NSArray *articles = [xpathParser search:@"//h4"]; // get the page article - this is xpath notation
TFHppleElement *article = [articles objectAtIndex:0];
NSString *myArtical = [article content];
我想从数组“titles”中创建并填充表格 然后能够点击表格上的项目来加载一个子视图,该子视图应该在相同的索引处显示相应的artical?
我想以编程方式或使用IB
进行此操作有人可以建议一些示例代码或教程吗?
感谢。
答案 0 :(得分:4)
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return [titles count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *MyIdentifier = @"MyIdentifier";
UITableViewCell *cell =[tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil){
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:MyIdentifier] autorelease];
}
cell.textLabel.text = [titles objectAtIndex:indexPath.row];
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
/* here pop up Your subview with corresponding value from the array with array index indexpath.row ..*/
}
答案 1 :(得分:1)
作为一种通用方法,您只需将相关的控制器类设置为相关UITableView的委托,然后实现以下方法:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
但是,我建议阅读Apple的Table View Programming guide - 它不仅仅是一个简单的代码示例,而且相当容易理解。
完成后,如果您仍在使用示例代码后,只需下载UITableView Class reference的“相关示例代码”部分中的一个项目即可。 (如果你在Xcode的Apple文档查看器中执行此操作,它会自动执行下载等操作,并会为您打开Xcode中的项目。)
答案 2 :(得分:0)
首先,您必须在.h文件中设置UITableViewDelegate和UITableViewDatasource,在其中创建tableview并声明NSarray来存储表值,并且在viedidload函数的.m文件中,您需要使用对象初始化数组(arr_name = [ NSArray alloc] initwith 对象:@“one”,@“two”,nil)你必须放置这三种方法
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath