*

iOSプログラミングのキモ(AppDelegate説明 NSUserDefaultsに設定情報を格納する )

公開日: : 最終更新日:2014/01/22 Apple, iOS, iPad, iPhone, XCode

QTubeは、YouTubeを閲覧するときに 国別コードを設定しています。国別コードは iOSに設定された言語情報を取り出して、それに合う国別コードを自動的にセットします。国別コードは自由に変更出来、アプリ終了後も保存されるため 次回起動した際には最後に設定された国別コードが適用されます。国別コードの保存にはNSUserDefaultsを使っています。NSUserDefaultsはフラッシュメモリ上にデータを格納するクラスです。今回のようにコンパクトな情報を保存するときに、よく使われます。

NSUserDefaultsを使って国別コードを読み込む

AppDelegateから抜粋

-(NSString *)getLocaleCountryCodeFromNSUserDefaults
{
    NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
    NSString *s = [ud stringForKey:LocaleCountryCode];
    return s;
}

NSUserDefaultsからデータを読み込む方法は簡単です、NSUserDefaultsインスタンスを取り出し(3行目)、取出したいデータに紐付けたキー文字列(ここではLocaleCountryCode)を使って取り出す(4行目)だけです。データがなかった場合、返り値は nil になります。

NSUserDefaultsを使って国別コードを書き込む

AppDelegateから抜粋

-(void)setLocaleCountryCodeFromNSUserDefaults:(NSString*)localeCountryCode
{
    NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
    [ud setObject:localeCountryCode forKey:LocaleCountryCode];
    [ud synchronize];
}

NSUserDefaultsからデータを読み込む方法も簡単です、NSUserDefaultsインスタンスを取り出し(3行目)、格納したいデータに紐付けたキー文字列(ここではLocaleCountryCode)を使って保存する(4行目)だけです。注意したいのは最後に synchronize メソッドを呼んで(5行目) 確実にフラッシュメモリ上に保管させることです。

関連記事

iOSプログラミングのキモ(サードパーティ製ライブラリをサクッと入れるcocoapods)

iOSプログラミングでは 便利なライブラリがたくさんあります。特にUI系のライブラリは豊富で自分で作

記事を読む

iOSプログラミングのキモ(iOS7から使えるようになったマルチタスク機能、NSURLSessionはこう使え!)

今日はQTubeのソースに関する話題ではなく、現在開発中のアプリで使っているNSURLSession

記事を読む

iOSプログラミングのキモ(行き当たりばったりなプログラミングでも、何とか形にするために守っていること その2)

先週に引き続き、今週も文字中心のエントリーです、今回は 下記3つのことを書いていきます。 M

記事を読む

iOSプログラミングのキモ(2:AppDelegate説明 )

実際の AppDelegate.h、AppDelegate.m のソースコードです AppDe

記事を読む

iOSプログラミングのキモ(Delegate iOSプログラミングで避けて通れないしくみ)

Delegate(委任)の考え方を説明します。iOSのプログラミングでは このDelegateが頻繁

記事を読む

FileQ iOS版 公開しました。

5/2にFileQ iOS版を無事、公開しました。Appleの審査もスンナリ通り ホットしています(

記事を読む

iOSプログラミングのキモ(拡張子がpchというファイルの役目)

XCodeで プロジェクトを作成すると、-prefix.pch というファイルができています。このフ

記事を読む

FileQ iOS版を開発しようと思った理由

私の会社では FileQというファイル転送サービスを 2008年3月末から始めています、かれこれ6年

記事を読む

iOSプログラミングのキモ(AppDelegate説明 iPhone5以降とiPhone4S以前を画面サイズで判別する )

iPhone5以降 画面サイズが2パターン(iPhone6ではさらに増えるかも・・(^^;))になっ

記事を読む

iOSプログラミングのキモ

このブログでは、実際に弊社が公開しているアプリのソースコードを使って、iOSプログラミングのキモを解

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

FileQ Hosting 月額99円 容量1GB


サイト管理 Mezzanine
Django上で動くCMS Mezzanine 用のモジュールを作ってみる その1

Django上で動くCMS Mezzanine上で動く、モジュールを作

ホーム Mezzanine
Django上で動くCMS Mezzanine を インストールする MacOSX Yesemite 編

Mezzanineは Django WEBフレームワーク上で動くCMS

EclipseにGWT(Google Web Toolkit) Plugin for Eclipseを入れようとしてハマった

最近PHPでちょっとした業務システムを作りました。業務システムの特徴と

ブログを半年やった成果を Google Analytics から眺める

今年の1月からブログを書き始め、そろそろ半年が経とうとしています。

母校で特別 講義をやってきました。

少し 間が空いてしまいました(^_^;) ちょっと前になりますが

→もっと見る

mautic is open source marketing automation
PAGE TOP ↑