我正在为ios集成学习sqlite。 我的问题是如何获得行的顺序与sql-insert时的相同? 伙计们,我有两个NSArray持有一些数据。我将它们插入这样的表中:
NSMutableArray *arrayFieldName = [[NSMutableArray alloc] initWithArray:[data objectForKey:@"arrayFieldNameKey"]] ;
NSMutableArray *arrayFieldValue = [[NSMutableArray alloc] initWithArray:[data objectForKey:@"arrayFieldValueKey"]] ;
日志为:
Printing description of arrayFieldName:
(
出生日期,
共和国,
婚姻,
货币,
激励,
采访日期,
爱好,
Tanki Online,
的技能,
Sal Range
)
打印arrayFieldValue的说明: (
2014-04-13,
Rep26,
2014年3月17日,
56,
58,
2月20日,
,
雷,
|#| PHP |#|爪哇|#|的Python |#|,
|#| 0 - 10k |#| 10k - 20k |#| 20k -30k |#|
)
以上日志符合预期。 现在我执行select以获取fieldName和fieldValue:
NSMutableArray *arr = [[NSMutableArray alloc] init];
FMResultSet *rs = [db executeQuery:@"SELECT * FROM customer_custom_fields where customer_id=? AND deleted = 0", custId];
while ([rs next])
{
NSMutableDictionary *dic = [NSMutableDictionary dictionary];
[dic setObject:[rs stringForColumn:@"field_name"] forKey:@"field_name"];
[dic setObject:[rs stringForColumn:@"field_value"] forKey:@"field_value"];
[dic setObject:[rs stringForColumn:@"deleted"] forKey:@"deleted"];
[dic setObject:[rs stringForColumn:@"update_date"] forKey:@"update_date"];
[arr addObject:dic];
}
return arr;
,结果如下:
例如货币成为第一个,出生日期成为第二个......
任何建议
答案 0 :(得分:0)
这是因为您正在使用NSMutableDictionary,它不按顺序存储数据。为此你可以创建你的模型类,例如。命名客户并添加货币浮动,出生日期,日期或字符串等属性。