我试图将数据库中的行和列显示到tableview中。我的方法是:首先我将从数据库中获取数据,然后我将SQL语句分配给这样的变量:
- (NSMutableDictionary *)arrayOfInquiries
{
const char *dbpath = [databasePath UTF8String];
if (sqlite3_open(dbpath, &database) == SQLITE_OK)
{
NSString *querySQL = @"select * from inquiry_tb";
const char *query_stmt = [querySQL UTF8String];
if (sqlite3_prepare_v2(database,
query_stmt, -1, &statement, NULL) == SQLITE_OK)
{
while (sqlite3_step(statement) == SQLITE_ROW)
{
Inquiry *voucher = [[Inquiry alloc]init];
NSNumber *id = [[NSNumber alloc] initWithInt:sqlite3_column_int(statement, 1)];
NSString *name = [[NSString alloc] initWithUTF8String:
(const char *) sqlite3_column_text(statement, 2)];
NSString *date = [[NSString alloc] initWithUTF8String:
(const char *) sqlite3_column_text(statement, 3)];
NSString *branch = [[NSString alloc] initWithUTF8String:
(const char *) sqlite3_column_text(statement, 4)];
NSMutableDictionary *inquiries = [NSMutableDictionary dictionaryWithObjectAndKeys:id,@"id",name,@"name",date,@"date",branch,@"branch",nil];
sqlite3_reset(statement);
return inquiries;
}
}
}
return nil;
}
我打算回到主视图控制器。
我的问题是:如何将其返回主视图控制器。这样我就可以将它用于tableViewCell中的标签。
我的做法是对的吗?还是有更好的方法?
答案 0 :(得分:0)
@teach是的,你可以做到。
在主视图控制器(.H)中创建NSMutableArray。假设你有
NSMutableArray *id1,*name1,*date1,*branch1;
现在您可以将它添加到您的sql变量中,如此
NSString *querySQL = @"select *yourcolumnnames from inquiry_tb where=?";
NSNumber *id = [[NSNumber alloc] initWithInt:sqlite3_column_int(statement, 0)];
[id1 addObject:id];
NSString *name = [[NSString alloc] initWithUTF8String:
(const char *) sqlite3_column_text(statement, 1)];
[name1 addObject:name];
NSString *date = [[NSString alloc] initWithUTF8String:
(const char *) sqlite3_column_text(statement, 2)];
[date1 addObject:date];
NSString *branch = [[NSString alloc] initWithUTF8String:
(const char *) sqlite3_column_text(statement,3 )];
[branch1 addObject:branch];
之后你可以添加你的NSMutableArray * id1,* name1,* date1,* branch1;在你的UITableViewcell中显示NSMutableArray。
在属性必须分配(.H)之前
@property (strong, nonatomic) UILabel *id1label;
现在在(.m)
id1label=[[UILabel alloc]init];
id1label.frame=CGRectMake(115, 5, 400, 50);
id1label.font=[UIFont fontWithName: @"Neue Helvetica" size:14.0];
id1label.lineBreakMode = NSLineBreakByWordWrapping;
id1label.numberOfLines=0;
id1label.textColor=[UIColor blueColor];
NSArray *comment=[ youranotherNSMutableArray objectAtIndex:indexPath.section];
id1label.text=[comment objectAtIndex:indexPath.row];
[cell.contentView addSubview:id1label];