我对iOS编程相对比较陌生,所以请耐心等待。使用FMDB和Obj-C的换行符
我创建了一个应用程序,从表视图中调用食谱,然后将详细信息视图中的度量和成分作为标签列出。我在Google Sheets中编制了我的食谱,并将其下载为.csv文件,并使用SQLiteStudio填充表格。然后我导出了数据库,并使用FMDB将其放入我的应用程序中。一切工作正常,我可以检索各种领域。
我试图做的是名单出了测量和成分,使其显示与换行符:
0.5 oz. 1.0 oz. 1 jigger
而不是:0.5 oz., 1.0 oz., 1 jigger
这是我写的到谷歌文档。
我已经尝试在SQLite查看器中使用\n
,但它将其输出为字符串,而不是将其编码为新行。但是,当我查看伴随的.sql文件时,TextMate2将其作为新行读取。我不确定是否需要在调用FMDB或其他地方的tableviewcontroller实现文件中应用一些代码。
我一直在寻找解决方案一段时间,但没有运气。任何帮助在正确的方向转向我将不胜感激。谢谢!
CocktailListTableViewController.m
- (NSMutableArray *)recipeCocktails {
recipeCocktails = [[NSMutableArray alloc] init];
NSString *databasePath = [(AppDelegate *) [[UIApplication sharedApplication] delegate] databasePath];
FMDatabase *fmDB = [FMDatabase databaseWithPath:databasePath];
if(![fmDB open])
{
NSLog(@"Could not open DB, try again");
return nil;
}
FMResultSet *results = nil;
results = [fmDB executeQuery:@"SELECT * FROM recipesCocktails"];
NSLog(@"result %@ ",results);
if ([fmDB hadError]) {
NSLog(@"DB Error %d: %@", [fmDB lastErrorCode], [fmDB lastErrorMessage]);
}
while ([results next]) {
Cocktails *cocktails = [[Cocktails alloc] init];
cocktails.recipeName = [results stringForColumn:@"recipeName"];
cocktails.recipeMeasure = [results stringForColumn:@"recipeMeasure"];
cocktails.recipeIngred = [results stringForColumn:@"recipeIngred"];
cocktails.recipeGlass = [results stringForColumn:@"recipeGlass"];
cocktails.recipeShaker = [results stringForColumn:@"recipeShaker"];
cocktails.recipeDirections = [results stringForColumn:@"recipeDirections"];
[recipeCocktails addObject:cocktails];
}
[fmDB close];
return recipeCocktails;
CocktailsDetailTableViewController.m
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
self.title = cocktails.recipeName;
self.recipeIngred.text = cocktails.recipeIngred;
self.recipeMeasure.text = cocktails.recipeMeasure;
你是如何显示你的列表? UILabels?在UITextView? – 2015-04-23 02:48:00