2011-12-25 27 views
0

私はIphoneの飲み会カードゲームアプリを作っています。 すべてのカードは何かが違うことを意味し、ユーザーが情報ボタンを押してから、現在のカードに関する情報を含む新しい画面を表示できるようにしたい。どのように私は長い文字列を束ねるのではなく、テキストを読み込むための文書を作ることができますか?ファイルからテキストを読み込む

おかげ

答えて

3

あなたはのplistファイルに見ることができる - 彼らは様々なコレクションオブジェクトに非常に簡単にロードされ、Xcodeでのplistエディタで編集することができます。例えば

、あなたは辞書、あなたが必要なだけの簡単にアクセスできる文字列を提供しますNSDictionaryのからコンビニエンスコンストラクタ

+ (id)dictionaryWithContentsOfURL:(NSURL *)aURL 

としてデータを整理している場合。

このメソッドは、文字列を主にUI要素ではなくデータと見なす場合に便利です。

更新:

@Alexニコルは、ここでは、示唆したように、あなたが実際にそれを行うことができる方法である。

plistファイルを作成するには:Xcodeプロジェクトでは

  • をするために新しいファイル>リソース>プロパティリストを選択します。
  • en.lprojにファイルを保存して、ローカライズを支援します
  • プロパティリスト編集ペインで
  • 、行(または単にヒットリターン)を追加]を選択し
  • 読み取るには(例えばuser1用)キーの名前と値(例えば「ジョー」)

を入力します。内容:

NSURL *plistURL = [[NSBundle mainBundle] URLForResource:@"Property List" withExtension:@"plist"]; 

NSLog(@"URL: %@", plistURL); 

NSDictionary *strings = [NSDictionary dictionaryWithContentsOfURL:plistURL]; 

NSString *user1 = [strings objectForKey:@"user1"]; 

NSLog(@"User 1: %@", user1); 
+0

また、XcodeでPlistリソースを作成する方法と、そのようなリソースファイルをNSDictionaryとしてロードする方法についても触れます。 –

0

のplist、JSON文字列、およびデータベースがバーに入ったSQLite ...

おっと!私はそれらが3つの最も明白な選択肢であることを意味します。 JSON文字列はおそらく最も簡単に作成して "トランスポート"しますが、NSDictionaryやNSArrayにすべてのものをロードするのが最も簡単ですが、各文字列にアクセスするとファイルから読み込みます。

SQLite DBは非常に大量(数千)の文字列に対して最も一般的でスピード/ストレージ効率が優れていますが、設定には多少の努力が必要です。

0

私の他の答えでは、テキストが主にデータと見なされる場合は、辞書の使用をお勧めします。ただし、文字列がUI要素(アラートテキスト、ウィンドウタイトルなど)である場合は、stringsファイルを参照し、NSBundleのサポートが必要な場合があります。

文字列ファイルはローカリゼーションに最適です。形式はhereです。あなたは、ファイルLocalizable.stringsを呼び出す場合

NSString *text1 = NSLocalizedStringFromTable(@"TEXT1", @"myStringsFile", @"Comment"); 

は、あなたがより簡単なフォームを使用することができます:

は、アプリ、あなたにそれらを読んで、このようなものを使用するには

NSString *str1 = NSLocalizedString(@"String1", @"Comment on String1"); 

便利議論here - 少し古いですが、まだ有用です。

関連する問題