2

私のアプリには、使用および変更するいくつかの構成情報とその他の小さな情報を格納する単純なASCIIファイルがあります。そのファイルをアプリでiPhoneにコピーしたい。

1)このファイル(config.txt)をxcodeのどこに置くべきか教えてください。リソースの下に置く必要がありますか?

2)iPhoneでどのようにアクセスしますか?使用できますか

str = [NSString stringWithContentsOfFile:@"config.txt"] 

または、より完全なパスを使用する必要がありますか。はいの場合、それは何ですか?

4

4 に答える 4

9

アプリケーションがユーザー設定を変更できる場合は、を使用NSUserDefaultsしてユーザー設定を保存する必要があります。ドキュメントはこちらです。

設定はplistファイルとして保存されるためNSDictionary、インスタンスやNSArrayインスタンスなどを保存できます。

いくつかの設定を事前に入力するNSUserDefaults場合は、次のようなコードを使用して行うことができます。

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"defaults" ofType:@"plist"];
NSDictionary *defaultsDict = [NSDictionary dictionaryWithContentsOfFile:filePath];
[[NSUserDefaults standardUserDefaults] registerDefaults:defaultsDict];

defaults.plistファイルをデフォルト設定でResourcesフォルダーに配置し、上記のコードを使用する必要があります。AppDelegateのメソッドからそのコードを実行しますが、+(void)initialize別の場所を選択して呼び出すことができます。

于 2009-04-25T17:56:30.963 に答える
1

はい、リソースに入れることができます。次に、ファイルを取得するには、次のコマンドを使用できます。

[[NSBundle mainBundle] pathForResource:@"config" ofType:@"txt" inDirectory:@""]]

NSUserDefaultsしかし、あなたの設定について提案してもいいですか?それはあなたにそれらを読み書きする際の多くのトラブルを救うでしょう。

于 2009-04-25T17:57:57.327 に答える
1

NSUserDefaultsを取得する場合は、次のようにします。

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];

// getting a NSString
NSString *myString = [prefs stringForKey:@"keyToLookupString"];

// getting a NSInteger
NSInteger myInt = [prefs integerForKey:@"integerKey"];

// getting a Float
float myFloat = [prefs floatForKey:@"floatKey"];
于 2010-11-18T16:55:17.383 に答える
0

nsuserdefaultsがニーズを満たさない場合は、構成情報をDocumentsディレクトリのファイルに保存できます。起動時にファイルが存在しない場合は、「リソース」にあるバージョンをお読みください。

于 2009-04-25T18:32:41.207 に答える