タグ付けされた質問 「nsuserdefaults」

NSUserDefaultsは、CocoaおよびCocoa Touch用のAppleのFoundationフレームワークでユーザー設定を保存および取得するためのObjective-C APIです。OS X v10.0以降で利用可能で、NSObjectルートクラスから継承されたiOS 2.0以降で利用可能

15
NSUserDefaultsのクリア
私が使用している+[NSUserDefaults standardUserDefaults]アプリケーションの設定を保存するために。これは約12個の文字列値で構成されます。これらの値をデフォルト値に設定するのではなく、完全に削除することは可能ですか?

14
iOS:アプリ内にユーザー名/パスワードを保存する方法は?
iOSアプリにログイン画面があります。ユーザー名とパスワードはに保存NSUserDefaultsされ、再びアプリに入るとログイン画面に再度読み込まれます(もちろんNSUserDefaults永続的です)。 これで、ユーザーはユーザー名/パスワードの保存機能を無効にすることができます。 ですから、それNSUserDefaultsはクリアされます。 しかし、私のアプリでは、ユーザーのデータベースクエリにこのユーザー名/パスワードが必要です。だから:どこにデータを保存するのNSUserDefaultsですか?(この場所は、ユーザーがアプリを終了するか、ログアウトするときに削除できます)。

7
NSUserDefaultsにカスタムオブジェクトを保存する方法
さて、私はいくつかのことをやっています、そして私は自分の問題に気付きましたが、それを修正する方法がわかりません。一部のデータを保持するカスタムクラスを作成しました。私はこのクラスのオブジェクトを作成し、セッション間で持続させる必要があります。すべての情報をに入れる前はNSUserDefaults、これは機能しません。 -[NSUserDefaults setObject:forKey:]: Attempt to insert non-property value '<Player: 0x3b0cc90>' of class 'Player'. これは、カスタムクラス「Player」をに配置したときに表示されるエラーメッセージNSUserDefaultsです。今、私は明らかにNSUserDefaultsいくつかのタイプの情報しか保存していないことを読みました。それで、どのようにしてオブジェクトを入れNSUSerDefaultsますか? カスタムオブジェクトを "エンコード"して配置する方法があるはずだと読みましたが、実装方法がわからないので、助けていただければ幸いです。ありがとうございました! ****編集**** 承知しました。以下のコードを使用して作業を行いました(ありがとうございます)。しかし、まだ問題がいくつかあります。基本的に、コードは今クラッシュしますが、エラーが発生しないため、理由はわかりません。おそらく、基本的なものが欠けていて、疲れすぎているかもしれませんが、それはわかります。これが私のカスタムクラス「Player」の実装です。 @interface Player : NSObject { NSString *name; NSNumber *life; //Log of player's life } //Getting functions, return the info - (NSString *)name; - (int)life; - (id)init; //These are the setters - (void)setName:(NSString …



11
NSUserDefaults-キーが存在するかどうかを確認する方法
私は小さなiPhoneアプリで作業してNSUserDefaultsおり、データの永続化として使用しています。名前や番号など、いくつかのことを追跡するだけでよいので、単純にしておくとよいでしょう。 参照用にこのページを見つけましたが、私の質問には答えられないと思います。基本的に、値(またはキー)が既にに存在するかどうかを確認しNSUserDefaults、それに応じて何かを実行できるようにしたいと考えています。 いくつかの例:アプリが起動します。初めて起動する場合は、「ようこそ」という警告が出力されます。これが初めて開いたかどうかを知るために、UserDefaultsを読み取ってチェックします。 例2:「Hello [Name]」と表示されます。ここで、Nameは入力したものです。アプリを開いたときに名前がない場合は、「Hello World」と表示されます。名前をすでに入力しているかどうかを確認し、それに応じて行動する必要があります。名前はに保存されNSUserDefaultsます。 ここで助けますか?本当にありがたいです!

11
プロパティリスト以外のオブジェクトをNSUserDefaultsとして設定しようとしました
このエラーの原因はわかっていると思いましたが、何が問題なのか理解できません。 ここに私が得ている完全なエラーメッセージがあります: プロパティリスト以外のオブジェクトを設定しようとしました( 「<BC_Person:0x8f3c140>」 )キーpersonDataArrayのNSUserDefaults値として 私はプロトコルにPerson準拠していると思うクラスを持っていますがNSCoding、私の個人クラスにこれらのメソッドの両方があります: - (void)encodeWithCoder:(NSCoder *)coder { [coder encodeObject:self.personsName forKey:@"BCPersonsName"]; [coder encodeObject:self.personsBills forKey:@"BCPersonsBillsArray"]; } - (id)initWithCoder:(NSCoder *)coder { self = [super init]; if (self) { self.personsName = [coder decodeObjectForKey:@"BCPersonsName"]; self.personsBills = [coder decodeObjectForKey:@"BCPersonsBillsArray"]; } return self; } アプリの中でいくつかの点で、NSString中にはBC_PersonClassセットです、と私はDataSave私が私のプロパティをコード処理していると考えていることクラスをBC_PersonClass。これが私がDataSaveクラスから使用しているコードです: - (void)savePersonArrayData:(BC_Person *)personObject { // NSLog(@"name of the person …

4
NSUserDefaultsにNSDateを保存する最適な方法は何ですか?
私が遭遇したNSUserDefaultsにNSDateを格納する方法は2つあります。 オプション1-setObject:forKey: // Set NSDate *myDate = [NSDate date]; [[NSUserDefaults standardUserDefaults] setObject:myDate forKey:@"myDateKey"]; // Get NSDate *myDate = (NSDate *)[[NSUserDefaults standardUserDefaults] objectForKey:@"myDateKey"]; オプション2-timeIntervalSince1970 // Set NSDate *myDate = [NSDate date]; NSTimeInterval myDateTimeInterval = [myDate timeIntervalSince1970]; [[NSUserDefaults standardUserDefaults] setFloat:myDateTimeInterval forKey:@"myDateKey"]; // Get NSTimeInterval myDateTimeInterval = [[NSUserDefaults standardUserDefaults] floatForKey:@"myDateKey"]; NSDate *myDate = …

10
ローカルデータをSwiftアプリに保存する方法は?
私は現在、Swiftで開発されたiOSアプリを開発しています。ユーザーが作成したコンテンツをデバイスに保存する必要がありますが、ユーザーのコンテンツをデバイスに保存/受信する簡単で迅速な方法が見つからないようです。 誰かがローカルストレージを保存してアクセスする方法を説明できますか? アイデアは、ユーザーがアクションを実行したときにデータを保存し、アプリの起動時にそれを受け取ることです。

6
NSUserDefaultsがiOSでNSMutableDictionaryを保存できないのはなぜですか?
NSMutableDictionaryオブジェクトをに保存したいNSUserDefaults。のキータイプNSMutableDictionaryはNSString、値タイプはNSArrayであり、実装するオブジェクトのリストが含まれていますNSCoding。ドキュメントごとにNSString、NSArray両方ともに準拠していNSCodingます。 このエラーが発生しています: [NSUserDefaults setObject:forKey:]:NSCFDictionaryクラスの非プロパティ値を挿入しようとしました...



6
NSUserDefaultsは、Appstore内のアプリへの更新を通じて存続しますか?
これは事実ですか?NSUserDefaultsは、App Storeでアプリの更新を送信したときにリセットされますか、それともリセットされますか? アプリは更新時にクラッシュしますが、完全にダウンロードするとクラッシュしません-更新されたセッションと新しくダウンロードされたセッションで何が異なる可能性があるのか​​を特定しようとしています。 乾杯、ニック。

1
iOSのNSUserDefaultsに相当するAndroid
簡単なデータを保存したいのですが。iPhoneではNSUserDefaults、Objective-Cでそれを行うことができます。 ここでAndroidの同様のコマンドは何ですか? アプリケーションがインストールされている限り再利用できるように、いくつかの変数を保存しています。そのためだけに複雑なデータベースを使いたくありません。

7
シミュレータでアプリをアンインストールした後、NSUserDefaultsがクリアされない
これは本当のNOOBに聞こえるかもしれません!ユーザーがアプリケーションに2回目かどうかを確認したいので、使用している実行カウントを維持しますNSUserDefaults。rootViewControllerのviewDidLoadメソッドに次のコードを実装しました。 NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; NSLog(@"hello %ld", (long)[userDefaults integerForKey:@"runCount"]); if ([userDefaults integerForKey:@"runCount"] != 1) { //not the 2nd run [userDefaults setInteger:1 forKey:@"runCount"]; NSLog(@"not 2nd run"); } else { //second run or more NSLog(@"2nd run"); } [userDefaults synchronize]; すべてが正常に動作しますが、問題は、こことここに従ってアプリケーションをアンインストール(削除して再インストール)するとデータがクリアされるはずですが、アプリが再インストールされても以前のデータがまだ表示されているということです。xCode6-betaを使用してiOSシミュレーターでアプリを実行し、iOS 8上のアプリケーションをターゲットにしています

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.