0

アスキーアートのiPhoneアプリを作っています。

ASCIIアートをSqliteまたはplistに保存し、それをラベルに取得すると、問題が発生します。

smslbl.text = @"___________\n |---------|-O\n/___________\\\n|______________|\n\\____________/";

上記のように文字列を明示的に指定した場合。ASCIIが正しく表示されます。

しかし、データベースから同じテキストを取得して同じラベルに割り当てると、すべてのテキストが同じ行に印刷されます。

私は何をすべきか?

ヘルプと提案してください。

ありがとう

4

1 に答える 1

0

コンパイラまたはランタイムのいずれかが、そこにある定数NSStringの「\n」シーケンスを変換しています。この動作は、例のような定数文字列でのみ確認できます。データベース内にその正確な文字列があり、それを引き出すと、エスケープの解析は行われません。その動作を取得するには、文字列を自分で解析する必要があります。しかし、この場合、なぜデータベースにエスケープがあるのでしょうか。エスケープされていないバージョンをデータベースに入れて、実際の改行文字を追加しない理由はありません。

于 2010-12-04T08:22:10.207 に答える