事前に構成された値を保存する必要があります。この値は、ユーザーがiOSアプリのテーブルから選択できる選択に後で使用されます。おそらく5〜10個の選択肢があります。
パフォーマンスと効率の観点から、これらの種類のデータを保存するための最良の方法は何ですか?
私は次のようないくつかの方法を考えるかもしれません:
- レンダリング方法でハードコーディングされた権利
- 配列
- plistファイル
- コアデータ
ありがとう
静的データは、値をロードする適切なクラスの静的変数に格納する必要があります。
ファイルからディクショナリをロードするかどうかに関係なく、ここではディクショナリまたは配列を静的にロードする方法を示します。これにより、アプリケーションで一度だけ実行されます。
//.h
@interface MyApp
+(void) initialize; //will only be called once when the class is loaded
//.m
static NSArray *myListOfStuff;
@implementation MyApp
+(void) initialize {
//...either load your values from a file or hard code the values here
//init and assign values to myListOfStuff
}
//a statis getter for the list
+(NSArray *) listOfStuff {
return myListOfStuff;
}
//Client Code to get the list in your app
NSArray *myList = [MyApp listOfStuff];
//This memory will not be released for the life of the application.
//it will be loaded once and only once - its efficient
永続化があなたの目的である場合、Googleは辞書または配列をplistに永続化します
実際に 5 ~ 10 個のデータ項目しかない場合は、それらを NSDictionary または Array に格納し、それを plist ファイルに保存して、そこから読み取ることができます。dictionaryWithContentsOfFile
メソッドまたはそれぞれを使用しarrayWithContentsOfFile
て、plist から読み取り、writeToFile
書き込みに使用できます。
大量のデータについては、コアデータを調べることができます。