アプリの設定にはいくつかありますが、それらはすべて非常に基本的なものであり、アプリ全体でそれらにアクセスする必要があります。これらの設定が NSUserDefaults に保存されるようにセットアップしました。私の質問は、それらにアクセスする最善の方法は、クラスのインスタンスがロードされるたびに NSUserDefaults からロードする必要があるかどうか、またはどこかで一度ロードして、どこからでもそのグローバル データにアクセスする方がよいかどうかです。それが最善の選択肢である場合、どうすれば後者を実行できますか?
質問する
64 次
2 に答える
2
Instruments からのプロファイリング データが問題の可能性を示唆しない限り、NSUserDefaults を使用します。問題がある場合は、キャッシュを検討する時期かもしれません。
ただし、NSUserDefaults は既にキャッシュを行っているので、問題ないはずです。
于 2013-09-11T20:42:40.113 に答える
1
次のことができます。
クラス LoadUserDefaults を NSObject から作成します。
ヘッダー ファイル:
#import <Foundation/Foundation.h>
@interface LoadUserDefaults : NSObject
//example variables
int score;
NSString username;
//etc...
-(void)loadUserDefaults;
@end
今あなたの.mファイルに:
#import "LoadUserDefaults.h"
@implementation LoadUserDefaults
-(void)loadUserDefaults{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
score = [defaults valueForKey:@"score"];
username = [defaults valueForKey:@"username"];
//etc.
}
@end
次に、デフォルトにアクセスしたいすべての場所にクラスをインポートします。
#import "LoadUserDefaults"
その後、それらをどこかにロードします。
LoadUserDefaults *loadDefaults = [[LoadUserDefaults alloc]init];
[loadDefaults loadUserDefaults];
最後に、変数を取得する場合:
LoadUserDefaults *loadDefaults = [[LoadUserDefaults alloc]init];
int score = loadDefaults.score
于 2013-09-11T20:50:44.713 に答える