1

我在做一些根本性的错误,但我正在网上寻找更好的例子,但很快就失败了:-(

在 .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 回答