FMResultset到Nsarray

时间:2015-11-02 10:58:16

标签: ios objective-c sqlite fmdb

我的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];行。它取代了每个循环的所有值。我应该为此做什么。

感谢。

1 个答案:

答案 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];
    }