gpt4 book ai didi

ios - 索引路径中行的单元格仅调用一次

转载 作者:可可西里 更新时间:2023-11-01 03:19:31 25 4
gpt4 key购买 nike

我正在解析一个 json 数据,其中一个字段是一个数组,如果它有内容。但如果它没有内容,它只是一个字符串“No result”。我正在使用以下代码来解析它:

-(void)viewWillAppear:(BOOL)animated


{
[super viewWillAppear:YES];
//URL is called.
if ([status isEqualToString:@"success"])

{
if ([[[json objectForKey:@"Items"] objectForKey:@"item_list"] isKindOfClass:[NSString class]])



{
_Label.text = [NSString stringWithFormat:@"0"];
ItemsArray = [[NSMutableArray alloc]init];
}
else
{
ItemsArray = [[json objectForKey:@"Items"] objectForKey:@"item_list"];
NSLog(@"%d",[ItemsArray count]);
float Amount = 0;
NSLog(@"%d",[ItemsArray count]);
if ([ItemsArray count]>0)
{
for (int i=0; i<[ItemsArray count]; i++)
{
NSMutableDictionary * temp3 = [ItemsArray objectAtIndex: i];
NSString * x = [temp3 objectForKey:@"final"];
Amount = Amount + [x floatValue];
}
Label.text = [NSString stringWithFormat:@"%.2f",BidAmount];
}
else
{
Label.text = [NSString stringWithFormat:@"0"];
}
}



[TableViewOutlet reloadData];

这很好用。

当字段返回字符串时我没有遇到任何问题。但是当字段是数组时,我被卡住了。第一次运行项目后,即使数组计数大于 0,它也能正常工作。但是从第二次开始,即使数组计数大于 0,也不会调用 Cellforrowatindexpath 方法....这些是我的代码:

-(NSInteger) numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}

-(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
NSLog(@"%d",[ItemsArray count]);
return [ItemsArray count];
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{
static NSString *CellIdentifier = @"TableViewCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

if (cell==nil)
{
cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
cell.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.025];
NSDictionary *temp = [ItemsArray objectAtIndex:indexPath.row];

UILabel *ItemName = (UILabel *)[cell viewWithTag:1000];
ItemName.text = [temp objectForKey:@"title"];

UILabel *Cost = (UILabel *)[cell viewWithTag:1001];
Cost.text = [temp objectForKey:@"final"];

return cell;

}

谁能帮帮我

最佳答案

我认为问题在于您没有保留 ItemArray。

NSArray* array = [[json objectForKey:@"Items"] objectForKey:@"item_list"];
ItemsArray = [NSMutableArray alloc]]initWithArray:array];

使用这个代码片段..希望它能工作。

关于ios - 索引路径中行的单元格仅调用一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26925299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com