ios – 仅在indexpath处调用一行的单元格

ios – 仅在indexpath处调用一行的单元格,第1张

概述我正在解析一个json数据,如果它有一个内容,那么该字段之一是一个数组.但是如果它没有内容,那么它只是一个字符串“No result”. 我使用以下代码来解析它: -(void)viewWillAppear:(BOOL)animated{[super viewWillAppear:YES];//URL is called.if ([status isEqualToString:@"su 我正在解析一个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,它也能正常工作.但是从第二次开始,也不会调用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 – 仅在indexpath处调用一行的单元格全部内容,希望文章能够帮你解决ios – 仅在indexpath处调用一行的单元格所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1103602.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存