【发布时间】:2012-01-20 09:49:10
【问题描述】:
好的,这是使用 Xcode 的第三天,所以请多多关照。
我正在尝试设置一个简单的表来显示现有 sqlite 数据库中的记录。我已经将数据库加载到 NSMutableArray 并验证了大小是正确的,但我无法循环遍历它并正确获取数据。显示的只是表格的最后一条记录。
这里是示例代码:
while([results next]) {
self.subject_id = [results stringForColumn:@"SUBJECT_ID"];
self.subject = [results stringForColumn:@"SUBJECT"];
self.category = [results stringForColumn:@"CATEGORY"];
[subjects addObject:self];
NSLog(@"AFTER record: %@ - %@ - %@", self.subject_id, self.subject, self.category);
}
当循环打印到日志中时,我验证循环中的数据是否正确。
然后我在填充数组后立即运行它,每次都得到相同的最后一个条目:
//PULL UP THE THINGY AND SEE IF IT WORKS
Subject *sub;
int x = 0;
for (sub in subjects){
Subject *xsub = [subjects objectAtIndex:x];
NSLog(@" %i sub data ------- %@, ----- %@", x, xsub.subject, xsub.category);
x = x+1;
};
sub = [subjects objectAtIndex:50];
NSLog(@" sub data ------- %@, ----- %@", sub.subject, sub.category);
我什至尝试像这样专门从数组中提取一条记录,但我得到了相同的最后一条记录,而不是我要求的记录:
sub = [subjects objectAtIndex:50];
“主题”是一个给出我的表的字段名称的类。我还没有使用实体功能。
我的头文件声明字段名称如下:
@property (nonatomic, retain) NSString * subject_id;
@property (nonatomic, retain) NSString * subject;
@property (nonatomic, retain) NSString * category;
我使用 FMDB 包装器从我的数据库中获取数据,并将来自几个不同的 tableView 示例(例如 Animals)的类拼凑在一起。
谁能给我一些关于如何调试的指导?
【问题讨论】: