[iOS SDK] NSUserDefaults boolForKey でNOが返ってくるとNOが格納されていたのか値が存在しなかったのかが不明
NSUserDefaults Class Reference
にあるとおり、NSUserDefaultsのboolForKeyは返り値がBOOLで、値が格納されていない場合もNOを返してくるので、NOが格納されていたのか、存在しなかったのでNOが返ってきたのかを判別できない。
値が格納されていたのかを知る方法がないかをstackOverflowで調べたところ、そもそも考え方が間違っていることが判明。
iphone – NSUserDefaults boolforKey limitation by design? – Stack Overflow
registerDefaults:(NSDictionary*) でデフォルト値を入れておいて、もし存在しなければデフォルト値を返してもらうようにすべきとのこと。
そういえば前も調べたことがある気がする。ということでブログにメモをしておく。
しかし一応、objectForKey: を使えば値が格納されていたのかを知ることもできるとのことだった。
(その場合、NSNumber として値を返そうとするため、存在しない場合は nil が返ってくる)
関連記事
-
-
Apple買収後の TestFlight を利用してみた
TestFlight は昔から利用していたが、2014年に Apple に買収 されてしまった。その
-
-
[iOS8] BlocksKit で不具合発生
iOS8 にアップデートしたところ、BlocksKit の UIAlertView と UI
-
-
[iOS SDK] 処理中の表示に便利 SVProgressHUD
以前 MBProgressHUD の記事を書いたが、たまに使うと使い方をすっかり忘れている。 やり
-
-
新型 su-pen 購入
新型Su-penを買おうと思いAmazonのカートに入れていたら、翌日見たら売り切れていた...
-
-
Guideline 2.5.10 – Performance – Software Requirements で Reject
2019年3月27日以降、iPhone Xs Maxの画面サイズ6.5インチのスクリーンショットが
-
-
Apple、iPhoneアプリは今後3.0互換でなければ受付けないと通告
Apple、iPhoneアプリは今後3.0互換でなければ受付けないと通告 うちにはこのメールは届いて
-
-
スティーブ・ジョブズの王国 ― アップルはいかにして世界を変えたか?
Amazonからおすすめされてたまたま発見した本。2010年11月12日発売らしい。 原書はRetu
-
-
Invalid EvernoteSession で落ちる問題に遭遇
EverLearn アプリのバージョンアップ版を作成したのでテストをしていたところ、iOS5 で起動
-
-
iPhotoがiPad mini 4 を iPhone 7 Plus と表示する
「写真」が好きになれないのでいまだにiPhotoを使っているのだが、MacBook Late 201