我是使用 SQLite 在 Xcode 上进行数据库开发的新手,并尝试构建一个从表中获取数据并将其放入 Tableview 的应用程序。
我在 Tableview 中有以下代码:
-(UITableViewCell *) tableView : (UITableView *) tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
jobs =[[NSMutableArray alloc] init];
id cellvalue;
NSString *querySQL = [NSString stringWithFormat: @"select jobTitle FROM job"];
sqlite3_stmt *statement;
const char *query_stmt = [querySQL UTF8String];
static NSString *identifier = @"Cell";
cell = [tableView dequeueReusableCellWithIdentifier:identifier];
if (cell == nil)
{
cell =[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}
if (sqlite3_prepare_v2(db, query_stmt, -1, &statement, NULL) == SQLITE_OK)
{
while (sqlite3_step(statement) == SQLITE_ROW)
{
//[jobs addObject:[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 0)]];
[jobs addObject:[NSString stringWithFormat:@"%s",sqlite3_column_text(statement, 0)]];
cellvalue =[jobs objectAtIndex:indexPath.row];
cell.textLabel.text = cellvalue;
// cell.textLabel.text = [jobs objectAtIndex:[indexPath row]]; -- Tried this but does not work.
}
}
return cell;
}
这里的 JobTitle 是 SQLITE DB 中的一个文本字段。表名是 Job。我在以下步骤中收到 SIGBART 错误:
cellvalue =[jobs objectAtIndex:indexPath.row];
cell.textLabel.text = cellvalue;
或者我尝试过关注
cell.textLabel.text = [jobs objectAtIndex:[indexPath row]];
当我尝试时:
cell.textlabel.text = @"Test"
它工作正常。
我被困在这里,希望获得有关如何将文本值从数据库分配给 TableView 单元格的帮助。目前表中有 2 行。