gpt4 book ai didi

ios - 如何在 ios 中设置 tableView 单元格标题?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:02:16 24 4
gpt4 key购买 nike

我正在解析 JSON 并将其存储在一个数组中。我有一个自定义单元格子类,我试图在其中根据已解析的 JSON 的内容设置标签的标题。这就是解析过程。

@implementation BlogScreenViewController    
- (void)viewDidLoad
{
[super viewDidLoad];
self.jsonArray = [[NSMutableArray alloc]init];

NSError *error = nil;
NSURL *url = [NSURL URLWithString:@"http:web_services/blog.php"];
NSData *data = [NSData dataWithContentsOfURL:url];
self.jsonArray = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
for (NSDictionary *obj in self.jsonArray)
{
NSLog(@"JSON string output :- %@ ", [obj objectForKey:@"titre"]); // shows titles
}

在自定义单元格子类中

    // set blog title label
UILabel *blogTitleLabel = [[UILabel alloc]initWithFrame:CGRectMake(60, 20, 200, 20)];
// blogTitleLabel.text = @"This is blog title"; // This shows properly if used.

for (NSDictionary *obj in blogScreenVC.jsonArray ) //This doesn't work.
{
blogTitleLabel.text = [NSString stringWithFormat:@"%@",[obj objectForKey:@"titre"]];
}
[blogTitleLabel setFont:[UIFont systemFontOfSize:9]];
[self addSubview:blogTitleLabel];

最佳答案

不要在 customcell 类中设置 lebel.text,而是将其添加到 cellForRowAtIndexPath 中。

customcell.h 文件中创建标签属性

@property (nonatomic, weak) IBOutlet UILabel *label;

并在 customcell.m 文件中合成它。

@synthesize label = _label;

在你的 viewcontroller.m 文件中

#import "CustomCell.h"

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"CustomCell";

CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil)
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];
cell = [nib objectAtIndex:0];
}

if (self.jsonArray.count !=0) {
NSMutableDictionary * tmpDictn = [self.jsonArray objectAtIndex:indexPath.row];
if ([tmpDictn objectForKey:@"titre"] != nil)
{
cell.label.text = [tmpDictn objectForKey:@"titre"];
}else{
cell.label.text = @"tmpDictn does not contain data";
}
}else{
cell.label.text = @"jsonArray does not contain data";
}

return cell;
}

关于ios - 如何在 ios 中设置 tableView 单元格标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20756367/

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