[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 が返ってくる)
関連記事
-
EverLearn 1.7.2 を公開しました
英単語学習用アプリ EverLearn 1.7.2 を公開しました (2015/10/22)TOEF
-
Build Your Apps for iOS 11 and iPhone X
Build Your Apps for iOS 11 and iPhone X メールが来た。
-
Invalid EvernoteSession で落ちる問題に遭遇
EverLearn アプリのバージョンアップ版を作成したのでテストをしていたところ、iOS5 で起動
-
LogLocations レビューいただきました
4 star review for LogLocations: 愛用してます | LaunchKi
-
iPhone 3G 購入
ついにiPhone 3G 購入。とは言っても自分ではなく奥さん用。 そのうちiPhone 3G 初
-
英辞郎第7版からアルクのSVLを EverLearn に取り込む方法
英辞郎 第七版(辞書データVer.136/2013年1月8日版)アルク企画開発部 アルク 2013
-
iPad/iPad2 収納ケース Built Neoplene Envelope
iPad を買って以来使い続けているBuiltのケースです。 Netbook Envelope とい
-
[iPhone SDK] Apple Push Notifiction Service (APNs)対応 その1
Apple Push Notification Service (以下、APNs) を使ったiPho
-
iPhone 3G/3GS用ホルダーケース レイアウト RT-P2LC3 カラビナつき
カバンを持っていないときに、iPhoneをジーパンのポケットに入れておくのはちょっと不安。 なの
-
スマートフォン手袋を買ってみた 2011
去年買ったスマートフォン用手袋は石油くさくてかなりつらい思いをしながら使ってましたが、今年もこりず