gpt4 book ai didi

ios - Tableview 单元格每次加载时都会重新加载多个表格单元格

转载 作者:行者123 更新时间:2023-11-28 21:30:47 24 4
gpt4 key购买 nike

我正在按如下方式发出获取请求,

    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSFetchRequest *request = [[NSFetchRequest alloc]initWithEntityName:@"PendingShipmentDetails"];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"PendingShipmentDetails" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];

然后我在 viewDidLoad 方法中将获取的记录添加到数组中...

NSArray *result = [self.managedObjectContext executeFetchRequest:request error:&error];
if (result.count > 0) {
int i;
amountArray = [[NSMutableArray alloc] init];
statusArray = [[NSMutableArray alloc]init];
shipmentReferenceNumberArray = [[NSMutableArray alloc]init];
invoiceNumberArray = [[NSMutableArray alloc]init];
for (i = 0; i < [result count]; i++) {
pending = (NSManagedObject *)[result objectAtIndex:i];
[shipmentReferenceNumberArray addObject:[pending valueForKey:@"shipmentno"]];
[invoiceNumberArray addObject:[pending valueForKey:@"invoice_no"]];
[amountArray addObject:[pending valueForKey:@"amount"]];
[statusArray addObject: [pending valueForKey:@"status"]];
}

} else {
NSLog(@"SORRY");
}

问题是,由于在 for 循环中添加了对象,所以当我导航到表格单元格时,每次都会多次使用相同的值填充表格单元格。但是,如果我将元素添加到数组中,则在 for 循环之外,只会添加一个元素,因此在任何时候都只能看到一个表格单元格。我怎样才能解决这个问题?

最佳答案

你走错了方向您可以使用 enumerateObjectsUsingBlock 而不是使用 for 循环

[ChildList enumerateObjectsUsingBlock:^(NSDictionary *obj, NSUInteger idx, BOOL * _Nonnull stop) {

Child = (ChildListModel*)[[ObjectBuilder builder] objectFromJSON:obj className:NSStringFromClass([ChildListModel class])];

if (Child) {
[originalList addObject:Child];
}
}];

关于ios - Tableview 单元格每次加载时都会重新加载多个表格单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36171242/

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