2015-11-02 41 views
1

我在我的sqlite数据库中有2035个对象。我试图在tableview中显示它们。我用这个代码将对象添加到NSMutablearrayNsarray的FMResultset

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

我想'KartList *卡丁车= [[KartList的alloc]初始化]创建kart对象。你在哪里增加指向'rs'变量的指针? – nanjunda

回答

1

您每次使用相同kart对象,并改变它的价值和添加到阵列中,它总是添加相同的对象,并在年底您`ll具有相同的对象2035次最新值,

`应该是内部while循环;

必须为每一行

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]; 
    } 
+0

好吧,那works.Thanks和我试过 [_customers addobject:[rs resultDictionary]]; 也适用。 –