Objective-C 基本講座

次回起動時に成績が残るようにする・ファイルの読み書き

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
iPhone用アプリがファイルを扱う際に考慮する点について学習します。
講師:
07:07

字幕

このレッスンでは NSarray による ファイルの読み書きを学習します NSarray や NSDictionary は NSNumber やNSString その他いくつかの汎用的なオブジェクトだけに 限定して構成すると 収納物をファイルに書き出したり 読み込んだりできるようになっています 今回はこのファイルの読み書きをやってみます X と Y というキー文字列を使って 2つの NSNumber を収納している― NSDictionary を2つ収納した― NSMutableArray を用意し ファイルに保存させ 起動のたびに値を更新して ファイルに書き出すようにしています 読み書きがうまくいってるなら すべての値が1ずつ増えていくはずです ところでこの肝心のファイルの 書き出し先ですが IOS では勝手に決めることが 禁止されていて NSFileManager を使って 書き出していい場所を 問い合わせる必要があります NSFileManager は 複数のファイルを同時に操作でもしない限りは 改めて作成することはせず アプリ起動時に自動的に用意されている― インスタンスを使います このインスタンスは defaultManager という クラスメソッドで取り出せます そしてこのオブジェクトに URLsForDirectry という メッセージを送ることで ファイルを作成してよい― フォルダーの場所を教えてもらいます 戻される値は NSURL を収納した NSArray です NSURL は URL を表現したオブジェクトです URL は普段ウェブブラウザで サイトを指定するのに使っている文字列です 最初のコロンまでの単語は スキームと呼ばれ その URL 文字列の利用形態を示します http とか https なら ウェブブラウザで サイトやページ指定に使う形態です ファイルならフォルダや ファイル指定に使う形態となります コロンの後ろに スラッシュを2回続けることで 相対位置ではなく 最上位階層からの指定となります http 形態ならここに IP アドレスか ドメイン名を書き ファイル形態ならマシン名などを書きます 自分のローカルマシンの場合は ローカルホストと書きますが これは省略可能です その後は最上位からのフォルダー階層が スラッシュで区切られた名前で表現されます ちなみに プログラムの世界ではフォルダーと言わずに ディレクトリというのが一般的です URLsForDirectory への指定によっては この URL が複数見つかる場合があるので 戻される値は NSArray となります その URLsForDirectory への指定ですが 最初の引数はどういった目的に 使うディレクトリかを指定します アプリが作り出すファイルを 保存する目的のディレクトリは NSDocumentDirectory か NSLibraryDirectory を指定します どちらも iTunes のバックアップの対象です NSDocumentDirectory の方は 指定すればiTunesで中身を見ることが できるようにもなります 次の inDomain には 探しているディレクトリが 全ユーザーで共有するものなのか ユーザー個人のものなのかを指定します IOS 用のアプリでは NSUserDomainMask を 指定します 実際にやってみましょう Xcode の画面に切り替えます viewDidLoad で NSMutableArray をファイルから読み込み 加算処理をして コンソールに出力した後で ファイルに書き出しています 正しく読み書きできているなら この加算処理で値が増えていくはずです ランするたび値が増えているので 正しく読み書きできていることがわかります load がファイルの読み込み save がファイルの書き出しです fileURL というメソッドで ファイルの位置を NSURL で戻すようにしています デフォルトマネージャーを取り出し URLsForDirectory メッセージで 書き出していいディレクトリを 問い合わせています 戻された NSArray から 先頭の NSURL を firstObject で取り出しています 収納数を確認して 0 でないなら 0 番目のオブジェクトを取り出すと いうのでもいいのですが その作業は firstObject で代行できるので こちらを使いましょう firstObject は 収納数が0 の時は nill を戻します これでファイルを作成していい― ディレクトリの場所が手に入るので その下に record XML という ファイルを作ることにしています URLByAppendingPathComponent を使い ディレクトリの URL に ファイル名を連結させています これでファイル位置を示す― NSURL が完成します save では writeToURL を使って ファイルを書き出しています 引数に指定し た NSURL に ファイルとして書き出します 書き出される内容は XML という形式で 書かれた テキストファイルです atomically は 正しく書き込めた時だけ ファイルができるようにするなら yes を指定します load では NSArray の イニシャライザー initWithContentsOfURL を使い ファイルの内容で NSArray を初期化しています うまく読み込めたなら NSMutableArray の内容として 埋め込んでいます 失敗したら nill が戻るので その場合ファイルがない状態と判断し 空の NSMutableArray を作り 4つの数値を記憶させています このレッスンでは NSMutableArray を使った― ファイルの読み書きを学習しました

Objective-C 基本講座

このコースはプログラミング初心者でもObjective-CによるiOSアプリ開発の体系的な理解が得られるように構成されています。プログラムの動作の原理、Objective-C言語の役割、そこで利用されるCocoa touchオブジェクトの役割、基本的なiOSアプリの作成方法などを学習します。ぜひこのコースをアプリ開発に踏み出すさいの第一歩としてください!

6時間39分 (69 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
発売日:2015年11月18日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。