[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 が返ってくる)
関連記事
-
-
EDAMTimestamp と NSDate の相互変換
Evernote SDKを使ったアプリで EDAMTimestamp を DBに格納する前に NSD
-
-
[iOS SDK] 実装ファイルでメンバ変数を宣言する
Xcode 4.x を導入したらいろいろ見慣れない記法があったので、いまさらながら一部まとめてみた。
-
-
iPhone 3G 購入
ついにiPhone 3G 購入。とは言っても自分ではなく奥さん用。 そのうちiPhone 3G 初
-
-
UIScrollView の上で UIView を動かしたい
今作っているiPadアプリで、画面をピンチインアウトで拡大縮小して、さらにその上でドラッグで部品を動
-
-
#WWDC21の勉強メモ 購入
https://note.com/shu223/m/m1432c132b9b4 今年も sh
-
-
Apple Special Event 2015
https://www.gizmodo.jp/2015/09/applelive_event_ip
-
-
au iPhone 6 Plus 64GB Silver 届いた
9/19 の発売以来、悩み抜いた結果 au で iPhone 6 Plus 64GB S
-
-
コードちゃん 1.1.0 で五度圏学習機能をサポート → 新アプリに分離しました
お知らせ ほとんど使われていないのと、1.2.0でコード進行問題を追加したため、1.2.0
-
-
[iPhone SDK] 処理を遅延実行する方法
処理を少し遅らせて実行したいときがたまにある。 そういうときには、NSObjectの - (voi
-
-
AWS IoTを利用してクラウド連携機能を追加してみた
GWに自宅待機でまとまった時間が確保できたので、AWS IoT を利用してMQTTを使った