問題タブ [nsuserdefaults]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3934 参照

iphone - NSUserDefaults:+ resetStandardUserDefaultsメソッドは何に適していますか?「システム設定」を提供するにはどうすればよいですか?

ユーザーが色や好みの画像などの設定を行えるようにしたいのですが、これにNSUserDefaultsを使用すると、アプリの最初の起動時に設定がなくなりますよね?だから、私が次のような好みを取得したいときはいつでも

NSInteger avatarID =(NSInteger)[[NSUserDefaults standardUserDefaults] objectForKey:@ "avatar"];

nullかどうかを確認してから、システム環境設定を使用する必要があります。しかし、私はこれをドキュメントで見ました:+ resetStandardUserDefaults

どこかに保存されているデフォルトの2つのブランチはありますか?ユーザーからのものと開発者からのもの?

0 投票する
11 に答える
47363 参照

iphone - iPhoneシミュレータでNSUserDefaultsデータをリセットするにはどうすればよいですか?

NSUserDefaultsアプリにデータ検索を追加しました。これは非常に便利です。ただし、テストのために、デフォルトデータベースに追加したすべてのデータをリセットして、ユーザーがアプリを最初に起動したときの状態になるようにします。

私は電話をかけようとしました:

しかし、それは何もしません。デフォルトは引き続き保存され、取得できます。

0 投票する
2 に答える
3031 参照

objective-c - NSUserDefaults と sqlite3 の比較

オブジェクトのリストを保存する小さな iPhone アプリがあります。ユーザーはオブジェクトを追加および削除できますが、このリストはかなり小さいままです (ほとんどのユーザーは 10 ~ 30 個のオブジェクトを持っています)。NSUserDefaults作業ははるかに簡単に思えますが、sqlite3より速くなるでしょうか? わずか 30 の「レコード」で、顕著な違いはありますか?

0 投票する
2 に答える
2061 参照

objective-c - EXC_BAD_ACCESS が NSArray を読み取ろうとしています

次のコードでは、plist からデータを読み取ろうとしています。

どういうわけか、「savedObject.value1」を設定しようとすると、「EXC_BAD_ACCESS」エラーが発生します。

これはおそらく基本的なメモリ管理、またはポインター/オブジェクトの種類の混乱である可能性が高いことを認識していますが、まだ学習中です。誰かがここで私を助けてくれることを願っています。敬具Sjakelien

0 投票する
2 に答える
990 参照

objective-c - Xcode Meanでこれらのエラーが発生するのはなぜですか?

2009-07-06 06:49:13.666 Spark[9825:10b] -[<NSUserDefaultsController 0x137af0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key hotKeyDisplayEntry.

2009-07-06 06:49:13.667 Spark[9825:10b] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<NSUserDefaultsController 0x137af0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key hotKeyDisplayEntry.'

編集: 私が問題を引き起こしたと思うもの。

NIBでは、テキストフィールドをNSDefaultsControllerにも接続しました。

0 投票する
2 に答える
4282 参照

iphone - iPhone SDK: 整数を 10 増やしようとして失敗しました

(問題は解決しました。以下の回答を参照してください)

こんにちは、私のアプリでポイント カウンターを作成しようとしています。これは、ボタンを押すたびに数字が 10 ずつ増えます。

ボタンが押されるたびにアプリの値 (0) を 1 ずつ増やし、最新の値を記憶して次回アプリの起動時に表示することに成功しました。ただし、アプリの再起動後にポイント値を 1 増やすと思われるボタンを押すと、記憶された値ではなく、0 から数字が増加し始めます。

アプリケーションを終了して再度開始した後、ポイントを 10 ずつ増やして最新の値と表示 (およびカウント) を記憶するにはどうすればよいですか?

これが私の現在のコードです:

値を 1 増やすボタンのコード:

viewDidLoad メソッド:

0 投票する
1 に答える
1283 参照

objective-c - OSX で複数のユーザー用にインストールされたシステム設定ペインの UserDefaults

システム設定の設定ペインで制御されるバックグラウンドのみのアプリがあります。設定ペインとアプリの間で通信するには、分散通知を使用します。ユーザーのデフォルトは を介し​​て共有され[NSUserDefaults addSuiteNamed:]ます。これはすべて非常にうまく機能します。

この問題は、システム設定ペインでプロンプトが表示されたときに、ユーザーが「すべてのユーザー用」の設定ペインをインストールすると発生します。~/Library/Preferences/この場合、「このユーザー専用」にインストールされた場合と同じように、設定が に書き込まれます。(これは正しい動作だと思います。)しかし、prefpane がデフォルトのキーを読み取るとき、prefpane/Library/Preferences/はユーザーのホーム ディレクトリではなく、 を見ているようです。

要約すると:

  • ~/Library/PreferencePanes/ にインストールされた環境設定ペイン
    • 書き込まれるデフォルト: ~/Library/Preferences/
    • 読み取り元のデフォルト: ~/Library/Preferences/
  • /Library/PreferencePanes/ にインストールされている環境設定ペイン
    • 書き込まれるデフォルト: ~/Library/Preferences/
    • 読み取り元のデフォルト: /Library/Preferences/

どこで問題が発生するかについて、誰かが光を当てることができますか?

ありがとう、コルヤ

0 投票する
1 に答える
840 参照

iphone - iPhone SDK NSUserDefaults が正しい値を保存しない

私はいくつかの助けを使うことができます。イライラする数日間の試行錯誤の後、NSUserDefaults への設定の書き込みで一貫性のない結果が得られます。

連続するコード行は次のとおりです。

kEndTimeKey は定数文字列です。

ご覧のとおり、キーの現在の値をログに記録してから、保存する予定の値をログに記録し、同期してから、保存された値を再度読み取ります。私には簡単に思えますが、デバッガーの出力は次のとおりです。

元の値 0、571 で終わる意図した値、および 6 秒ずれているキャッシュから読み取られた値が表示されます。

新しいデフォルトがどこから来たのかわかりません。何か案は?デバイスとシミュレーターで同様の動作が得られます。

ありがとうブラッド

0 投票する
3 に答える
1908 参照

cocoa - アーカイブおよびアンアーカイブの結果、不正なアクセスが発生する

モデル オブジェクトをセットアップして、ユーザーが生成した CALayers のビジュアル状態を iPhone 用の単純なグラフィック アプリケーションに保存するのに問題があります。

現在のすべてのレイヤーの背景色とフレームを画面に保存しようとしています。これらのプロパティを NSCoding プロトコルを実装するモデル オブジェクトに渡し、次にアプリ デリゲートが所有する NSMutableArray に渡します。次に、NSKeyedArchiver を使用して配列をアーカイブし、NSUserDefaults に保存します。

各 CALayer の backgroundColor プロパティは UIColor に変換され、モデル オブジェクトによってエンコードされて格納されます。配列のアーカイブを正しく解除していないか、アーカイブされていない配列から状態を正しく復元していないと思います。モデル オブジェクトに格納されている UIColor オブジェクトにアクセスしようとすると、EXC_BAD_ACCESS が返されます。

おそらくUIColorオブジェクトのエンコードのバグだと思ったので、CGColorGetComponents関数でCGColorRefから値を取り出して配列に格納してエンコードしてアーカイブしようとしましたが、アーカイブ解除後のアクセス不良の結果は同じだったので、私は私はそれを間違っているだけです。

これは私のモデルオブジェクトです:

そして、これは私のアーカイブの実装です:

そして、ここで状態を復元します。

これに関するヘルプは大歓迎です。私はほとんど初心者です。色のフロートから変換された NSNumbers の NSArray をほぼ同じ方法でエンコード、アーカイブ、およびアンアーカイブしていて、アクセスが悪くなりました。

0 投票する
2 に答える
845 参照

iphone - WritetoFile を使用して NSArray に値を格納するにはどうすればよいですか?

NSArray を使用してテーブルの選択したセルのインデックスを保存したいのですが、助けてもらえますか....