заполнить массив в sqlite в то время как - PullRequest
1 голос
/ 06 апреля 2011

Я делаю что-то фундаментальное неправильно, но я ищу лучшие примеры в сети и скоро выйдет: - (

в .ч @interface MyDataViewController: UIViewController {

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

в м

@synthesize array;

Успешное восстановление:

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);

1 Ответ

2 голосов
/ 06 апреля 2011

Каковы ваши результаты и что вы ожидаете от этого? Вы непосредственно помещаете NSString в NSArray, что может или не может быть выполнено несколько раз для статического NSArray.

Если вы планируете поместить несколько строк в ваш массив, у вас должен быть NSMutableArray и просто addObject каждый раз, когда вы проходите по циклу while:

NSMutableArray *array = [[NSMutableArray alloc] init];
...code....
while (sqlite3_step(statement) == SQLITE_ROW) {
    [array addObject:[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 0)]];
}
...