我的sqlite数据库中有2035个对象。我试图在tableview中显示它们。我正在使用此代码向NSMutablearray
添加对象。
FMResultSet *rs = [database executeQuery:@"SELECT name,tel1 FROM KartDB"];
KartList *kart = [[KartList alloc] init];
while ([rs next]) {
kart.name = [rs stringForColumn:@"name"];
kart.tel1 = [rs stringForColumn:@"tel1"];
[_customers addObject:kart];
}
我将断点放到[_customers addObject:kart];
行。它取代了每个循环的所有值。我应该为此做什么。
感谢。
答案 0 :(得分:1)
您每次使用相同的kart
对象,并更改其值并添加到数组中,它将始终添加相同的对象,最后您将使用最新值2035次具有相同的对象,
您必须为每一行创建kart
个对象
FMResultSet *rs = [database executeQuery:@"SELECT name,tel1 FROM KartDB"];
while ([rs next]) {
// Inside loop
KartList *kart = [[KartList alloc] init];
kart.name = [rs stringForColumn:@"name"];
kart.tel1 = [rs stringForColumn:@"tel1"];
[_customers addObject:kart];
}