iphone:如何在差异视图中显示来自差异查询语句的sqlite数据?
我能够得到一个书名列表(tableview),当我选择这本书时,我想推到书的细节的新视图。我是在titleView类“didSelectRow”中还是在DetailView类“viewWillAppear”中执行此操作?如果是,我必须输入什么内容才能获取语句、3或contentInfo 数据库类iphone:如何在差异视图中显示来自差异查询语句的sqlite数据?,iphone,sql,ios,sqlite,Iphone,Sql,Ios,Sqlite,我能够得到一个书名列表(tableview),当我选择这本书时,我想推到书的细节的新视图。我是在titleView类“didSelectRow”中还是在DetailView类“viewWillAppear”中执行此操作?如果是,我必须输入什么内容才能获取语句、3或contentInfo 数据库类 (NSArray *) itemsByAuthorID:(NSInteger)authorID { NSMutableArray *retval = [[NSMutableArray
(NSArray *) itemsByAuthorID:(NSInteger)authorID {
NSMutableArray *retval = [[NSMutableArray alloc] init];
NSString *query;
code....
query = [NSString stringWithFormat:@"select * from books where books.author_id = '%i'", authorID];
}
code...
sqlite3_stmt *statement;
if (sqlite3_prepare_v2(_database, [query UTF8String], -1, &statement, nil) == SQLITE_OK){
while (sqlite3_step(statement) == SQLITE_ROW) {
int itemID = sqlite3_column_int(statement, 0);
int authorID = sqlite3_column_int(statement, 1);
char *nameChars = (char *) sqlite3_column_text(statement, 2);
char *itemContent = (char *) sqlite3_column_text(statement, 3);
NSString *contentTitle = [[NSString alloc] initWithUTF8String:nameChars];
NSString *contentInfo = [[NSString alloc] initWithUTF8String:itemContent];
Item *info = [[Item alloc] initWithItemID:itemID authorID:authorID contentTitle:(NSString *)contentTitle contentInfo:contentInfo];
[retval addObject:info];
}
sqlite3_finalize(statement);
}
return retval;
您可以为Book创建一个私有类,并从数据库中检索Book数组中所有书籍的数据
然后在调用didSelectRow后,只将Book的对象作为参数传递,并在详细信息视图中显示详细信息。这是我的私有类,名为Item look at code,如下所示。我可以为didSelectRow设置什么来传递contentInfo的对象。。。。。。。。。。Item*info=[[Item alloc]initWithItemID:itemID authorID:authorID contentTitle:(NSString*)contentTitle contentInfo:contentInfo];[retval addObject:info];