Keep It Real BLOG

ソフトウェアエンジニア。1児の父。 酒、ラーメン、サッカー好き。旅行も好きですが、普段は出不精で大抵たまプラーザ界隈に居ます。

iOSのNSUserDefaultsについて

f:id:naohide_a:20151202195340j:plain NSUserDefaultsを使用する機会があったのですが、値が反映されたり、反映されなかったりと変な事象が起きたので、調べてみました。

NSUserDefaultsですが、値をセットした後に、synchronizeしないと直ぐに値が反映されないようです。 というか、適当な時に値が反映されればいいよってどんな使い方をするんですかね?クソ仕様ですね。

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:val forKey:key];
[userDefaults synchronize];