1

私は根本的に間違ったことをしていますが、ネット上でより良い例を探していて、不足しています:-(

in .h @interface MyDataViewController:UIViewController {

NSArray *array;
}
@property (nonatomic, retain) NSArray *array;

メートル単位

@synthesize array;

成功したdbretrieval:

while (sqlite3_step(statement) == SQLITE_ROW) {
            //I guess this one is wrong but I cant figure it out.. (tired?)
            array = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 0)];

//testoutput to textfield:
            //myName.text  = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 0)];
//testoutput to nslog:
            NSLog(@"Data: %@",[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 0)]);

        }

sqlitequerynから最後を出力します。

NSLog(@"%@", array);
4

1 に答える 1

2

あなたのアウトプットは何ですか、そしてあなたはこれから何を期待しますか?NSStringをNSArrayに直接配置します。これは、静的NSArrayに対して複数回実行される場合と実行されない場合があります。

配列に複数の文字列を配置することを計画している場合は、NSMutableArrayを用意し、whileをループするたびに単にaddObjectを作成する必要があります。

NSMutableArray *array = [[NSMutableArray alloc] init];
...code....
while (sqlite3_step(statement) == SQLITE_ROW) {
    [array addObject:[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 0)]];
}
于 2011-04-05T21:22:55.800 に答える