HMDT BOOKS:HMDT JOURNAL Vol.004

HOME > PRODUCTS > HMDT BOOKS > HMDT JOURNAL Vol.004

ここでは、書籍の内容の一部を紹介しています。本文をお読みなる場合は、HMDT BOOKSアプリケーションから購入してください。

HMDT JOURNAL Vol.004 - 書籍内容紹介

2012年3月9日配信

iOS API探訪 第4回:iCloud (4) ドキュメントベースの同期

icloud.png

iOSには多種多様なフレームワークが用意されている。それらを実例とともに紹介していくのが、この『iOS API探訪』だ。

前回はファイルベースの同期を取り上げたが、今回はドキュメントベースだ。ついにiOSでもドキュメントベースのアプリの時代が来る。

■ドキュメントベースアーキテクチャへの転回

前回はファイルベースでの同期の説明を行った。iCloudによるファイルへのアクセスはNSFilePresenterで監視し、自分でセキュアにファイルアクセスを行うためにNSFileCoordinatorを用いた。正直なところ、なかなかに面倒な処理だったと思う。

実は、Cocoaはこれらの処理を肩代わりしてくれるクラスを用意している。UIDocumentというクラスだ。これを使うと、iCloudへの対応はグッと簡単になる。…

■UIDocumentとは

この記事を読まれている読者の方々は、Cocoa フレームワークがMVC(Model View Controller)アーキテクチャに基づいているのは、すでにご存知だろう。これから説明するUIDocumentクラスは、Appleによれば、モデルとコントローラの間に位置するクラスとなる。これを、モデルコントローラと呼んでいる。

どういうことかというと、UIDocument自体はモデルデータを保持しない。たとえば、ある人物を表すために、名前/年齢/性別といったデータを管理するには、Personというモデルクラスを作ったとする。UIDocumentの仕事は、このPersonオブジェクトをドキュメントとして保存したり同期するために、コントローラクラスとの橋渡しをすることにある。…

■UIDocumentの管理

UIDocumentを使えば、複数のドキュメントを作れるようになる。すると、それらのオブジェクトを管理する必要が出てくるだろう。

iOS 5.0では、複数のUIDocumentオブジェクトを管理するためのクラスは提供されていない。つまり、自分でやらなくてはいけないのだ。ちなみに、OS XではNSDocumentController というクラスがこの役割を担っている。…

Keywords: iCloud、ドキュメントベースアーキテクチャ、UIDocument、モデルコントローラ、ドキュメントタイプ、fileURL、initWithFileURL:、contentsForType:error:、loadFromContents:ofType:error:、複数のドキュメントの管理、saveToURL:forSaveOperation:completionHandler:、openWithCompletionHandler:、updateChangeCount:、NSUndoManager、closeWithCompletionHandler:、evictUbiquitousItemAtURL:error:

たのしいiPhoneプログラミング 第4回:Objective-Cを知ろう!

enjoy.png

いまから始めるiPhoneプログラミング!プログラミングが初めての人でもできるように、一歩一歩進んでいく連載だ。

今回は、iPhoneプログラミングで使う、プログラミング言語の解説だ。まずは、プログラミング言語って何ぞや?ということろから始めよう。

■プログラミング言語を学ぼう!

前回は、とりあえずアプリを動かしてみたでしょ。あれが、iPhoneアプリを作る一通りの流れなんだ。

じゃあ、何はともあれ、1つアプリを作ってみようか! 動くものがないとつまらないからな。新しいことを勉強するには、モチベーションを保つことが大事だ。…

■iPhoneプログラミングにはObjective-C

そんなプログラミング言語だけど、実にたくさんの種類があるんだ。いままで作られたプログラミング言語って、100じゃきかない。数千はあると思う。だけど、この数千の言語が全部使われている訳じゃないんだ。むしろ、作られたけどまったく使われていないものがほとんどだ。…

■Objective-Cの特徴を知ろう!

そんなこんなでObjective-Cなんだけど、その歴史と特徴を簡単に紹介しよう。一言で言うとObjective-Cとは、「C言語をベースとして、オブジェクト指向を取り入れた、動的な特性の強いプログラミング言語」ってことになっている。

これはいったいどういう意味なのか、1つずつ説明しよう。…

Keywords: iPhoneプログラミング入門、プログラミング言語、人工言語と自然言語、Objective-C、C言語、オブジェクト指向、動的な特性、クラス、インスタン、メソッド、インスタンス変数、クラスの宣言、インスタンス変数の宣言、クラスの実装、メソッドの宣言

新Dynamic Objective-C 第2回:ARC(2) ARCへの移行

arc.png

Objective-Cの動的な特性をソースコードレベルから解き明かすのが、Dynamic Objective-Cの連載だ。

ARCの2回目は、どのようにしてARCプログラミング環境に移行すればよいのかを解説しよう。

■ARCへの移行

今回は、すでにObjective-C プログラミング経験のある方が、どのようにしてARCへ移行すればよいのかを議論してみよう。

まず大前提として、あなたがすでに充分にObjective-Cプログラミングに慣れているならば、無理をしてARCへの移行を行う必要はない、ということだ。ARCを有効化しているコードと無効化しているコードの間には、致命的な差はない。大部分のところは同じ性能を持つものになる、と言っていいだろう。ARCを用いた方が、若干実行速度が速くなる可能性はあるが、それほど大きくは変わらない。…

■ライフタイム修飾子

ARCでのプログラミングでは、新たに追加されたライフタイム修飾子(lifetime qualifier)と呼ばれる修飾子が重要となる。これは、参照しているオブジェクトがどのくらいの期間「生存」するかを表すものだ。

以下の4つの修飾子が定義されている。…

■ARCプログラミングの留意点

ARCプログラミングを行うときに、注意すべき点をいくつか説明しよう。

ARCでは、参照カウンタをプログラマが明示的に操作することが許されない。すなわち、retain、release、retainCount、autoreleaseメソッドを、プログラマが呼び出すことは禁止される。これらの呼び出しを書いたコードは、コンパイル時にエラーが発生する。…

Keywords: ARC、-fobjc-arc、-fno-objc-arc、Convert to Objective-C ARC、ライフタイム修飾子、__strong、__weak、__unsafe_unretained、__autoreleasing、IBOutlet

Copyrights © 2012 HMDT Co., Ltd. All rights reserved.

HMDTアプリケーション

icon512.png
HMDT BOOKS