我正面临新问题。在我的应用中,我使用NSXmlParser获取数据。
解析数据后,我手动创建UITableview。
这是我的代码,
-(void) connectionDidFinishLoading:(NSURLConnection *)connection
{
parser = [[NSXMLParser alloc]initWithData:self.cData];
parser.delegate = self ;
[parser parse];
tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 20, 320, 460) style:UITableViewStylePlain];
tableView.dataSource = self;
tableView.delegate = self;
[self.view addSubview:tableView];
}
这是我的代表方法
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return eventName.count;
}
-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]autorelease];
}
for (int i=0; i < eventName.count; i++)
{
cell.textLabel.text = [eventName objectAtIndex:i];
NSLog(@"%@",cell.textLabel.text);
}
return cell;
}
答案 0 :(得分:3)
不是检查i
中的for loop
,而是删除for loop
并查找indexPath.row
-
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
...
cell.textLabel.text = [eventName objectAtIndex:indexPath.row];
...
}
它将被调用为 -
返回的值的次数 -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{}