我在從sqlite將檢索到的數據顯示到UITextView時遇到問題。 我的問題是\ n字符只能readed,而不是應用來自sqlite select的文本未在UI中格式化
- (IBAction)cerca:(id)sender {
NSString *nome;
NSString *perche;
NSString *precauzioni;
const char *dbpath = [percorso UTF8String];
sqlite3_stmt *statement;
if (sqlite3_open(dbpath, &farmaciDB) == SQLITE_OK)
{
NSString *querySQL = [NSString stringWithFormat: @"SELECT * FROM farmaci WHERE nome=\"%@\"", stringa.text];
NSLog(@"Query: %@", querySQL);
const char *query_stmt = [querySQL UTF8String];
if (sqlite3_prepare_v2(farmaciDB, query_stmt, -1, &statement, NULL) == SQLITE_OK)
{
if (sqlite3_step(statement) == SQLITE_ROW)
{
[email protected]"Nome";
nome = [[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement, 0)];
nomeText.text = nome;
CGRect frameNome = nomeText.frame;
frameNome.size.height = nomeText.contentSize.height;
nomeText.frame = frameNome;
[email protected]"Dettagio 1";
perche = [[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement, 1)];
//NSString* esc1 = [perche stringByReplacingOccurrencesOfString:@"\\r" withString:@"\\n"];
percheText.text = perche;
[email protected]"Dettaglio 2";
precauzioni = [[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement, 2)];
precauzioniText.text = precauzioni;
} else {
NSLog(@"Error");
}
sqlite3_finalize(statement);
} else
{
NSLog(@"could not prepare statemnt: %s\n", sqlite3_errmsg(farmaciDB));
}
sqlite3_close(farmaciDB);
}
}
,其結果是:
Dato1:Descrizione1 \ nDato2:Descrizione2 \ nDato3:Descrizione3 \ n ...
而我會想:
Dato1: Descrizione1
Dato2: Descrizione2
Dato3: Descrizione3
....
有什麼辦法來實現這一目標?
這是不是一個真正的SQLite的問題,而是一個UI問題。所以我添加了一個標籤。如果不是正確的iOS庫,請更改它。 – Tim 2013-04-29 20:10:46