gpt4 book ai didi

iphone - 对象数量 (3) 不等于键数量 (8)

转载 作者:行者123 更新时间:2023-12-03 17:32:18 25 4
gpt4 key购买 nike

好的,所以问题来自于尝试从 sqlite DB 中提取数据并将其放入数组中以进行 ScrollView 显示。我使用 FM 数据库库连接到 sql 数据库

代码如下:

NSMutableArray *data = [[NSMutableArray alloc] init];
FMResultSet *result = [[[StorageTank sharedStorageTank] DB]
executeQuery:@"SELECT * FROM table"];
while([result next])
{
NSArray *values = [[NSArray alloc] initWithObjects:
[[NSNumber alloc] initWithInt:[result intForColumn:@"id"]],
[[NSNumber alloc] initWithInt:[result intForColumn:@"count"]],
[[NSNumber alloc] initWithInt:[result intForColumn:@"required"]],
[result stringForColumn:@"image_portrait"],
[result stringForColumn:@"image_landscape"],
[[NSNumber alloc] initWithInt:[result intForColumn:@"end_date"]],
[[NSNumber alloc] initWithInt:[result intForColumn:@"active"]],
[result stringForColumn:@"merchant"], nil];
NSLog(@"%@", values);

NSArray *keys = [[NSArray alloc] initWithObjects: @"id",@"count",@"required",
@"image_portrait",@"image_landscape",
@"end_date",@"active",@"merchant",nil];
NSLog(@"%@", keys);

NSDictionary *row = [[NSDictionary alloc] initWithObjects: values forKeys: keys];


[data addObject: row];
}

NSArray *resultArray = [[NSArray alloc] init];
resultArray = data;

所以,显然从我测试过的代码来看,确保值计数等于键计数......但我仍然收到此错误:

“由于未捕获的异常‘NSInvalidArgumentException’而终止应用程序,原因:‘-[__NSPlaceholderDictionary initWithObjects:forKeys:]:对象数量 (3) 不等于键数量 (8)”

我一生都无法理解为什么当我打印值数组时看到 8 个值时计数会有所不同...这应该与我的 8 个键匹配?他们是正确的吗?

任何帮助/指导将不胜感激!

谢谢

最佳答案

是值数组中的第四项:

[result stringForColumn:@"image_portrait"]

返回nil?该值告诉 -initWithObjects 列表已完成。

关于iphone - 对象数量 (3) 不等于键数量 (8),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7920054/

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