HMDT BOOKS:HMDT JOURNAL Vol.005

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

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

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

2012年3月23日配信

iOS API探訪 第5回:iCloud (5) Core Dataベースの同期

icloud.png

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

iCloudの話も、今回で一区切りとしておく。最後にとりあげるのは、Core Dataを使っている場合の同期だ。

■Core Dataのためのドキュメントクラス

前回は、iOSアプリにもドキュメントベースアーキテクチャが導入された事、そのためにUIDocumentクラスが登場した事、などを説明した。今回は、特にそのドキュメントで、Core Data を使う場合の話をしよう。

Core Dataは、データを永続的に扱うためのフレームワークだ。モデルデータを専用のモデリングツールでデザインできること、データの読み込み/保存/更新がほぼ自動でできること、SQLiteデータベースをサポートしているため大規模データの取り扱いが可能な事、などを特徴として挙げる事ができる。実際の話、ある程度の大きさのデータを取り扱うアプリであれば、Core Dataの利用は必須であろう。…

■UIManagedDocumentとは

UIManagedDocumentは、Core Data処理をサポートしてくれる、UIDocumentのサブクラスである。したがって、基本的な役割やその使い方は、UIDocumentと同じになる。

UIManagedDocumentの特徴の一つは、特にサブクラス化しなくとも、十分にアプリで使えることである。通常のUIDocumentを用いたプログラミングでは、アプリ独自のUIDocumentサブクラスを作ることが必須であった。基本的には、ドキュメントのタイプ毎にUIDocumentのサブクラスを作り、ドキュメントの読み込みを行うloadFromContents:ofType: error:と、書き出しを行うcontentsForType:error:を、上書きすることになる。…

■保存されるデータ構造

UIDocumentを使うと、ドキュメントデータはNSData型かNSFileWrapper型で提供することを求められることは、前回説明したと思う。NSDataで提供すると通常のファイルとして保存され、NSFileWrapperであればファイルパッケージとして保存される。

では、UIManagedDocumentではどうなっているだろうか。デフォルト状態で保存されたデータを調べてみると、ファイルパッケージになっていることが分かる。つまり、NSFileWrapperによって提供され、パッケージがファイルに保存されている。…

Keywords: iCloud、Core Data、UIManagedDocument、モデリングファイル、パッケージデータ、persitentStoreName、NSMetadataQueryでのパッケージ検知

たのしいiPhoneプログラミング 第5回:地図アプリを作ろう!

enjoy.png

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

今回は、前半はちょっとXcodeのインストールについての補足を。後半は新しいアプリを作るぞ。地図アプリだ!

■地図アプリを作ろう!

では、今回の本題に入ろう。今回からは、また新しいアプリを作っていくよ。作りながら、iPhoneアプリ開発に必要な様々なトピックを解説していこう。

作るのは、地図アプリだ! 標準で「マップ」っていうアプリがあるでしょ。あれみたいに、地図を表示させるものだ。あとは、自分の現在地が表示できたら便利だよね。気になる場所には、マップアプリみたいにピンを落とせるようにしてみたいし。色々やりたいことはあるよね。…

■Mapプロジェクトを作ろう!

では、Mapアプリを作ってみよう。最初にやることは、プロジェクトの作成からだぜ。…

■シミュレータでMapを操作しよう!

では、シミュレータ上で動作しているMapを、色々といじくってみよう。ただし、iPhoneの実機は指でタップして操作するのに対して、Mac上のシミュレータはマウスまたはトラックパッドを使うので、若干の違いがある。

まずフリックしてみよう。地図をスクロールさせることができる。指を使った操作では弾くように行うフリックだけど、マウスを使うとドラッグになる。クリックしてドラッグしてボタンを離す。ある程度の慣性には対応しているよ。…

Keywords: iPhoneプログラミング入門、地図アプリ、Map Kit、MKMapView、シミュレータのピンチ、Shows User Location、Satellite、Hybrid

フォントとコードの話 第1回 フォントオブジェクトと幾何学情報

font.png

iOSおよびOS Xで、フォントと文字コードのプログラミングにまつわる四方山話をしようか。

まずは、フォントのためのオブジェクトをどうやって取得するか、そこからどうやって幾何学情報を取得するか、って話から始めよう。

■フォントのためのフレームワーク

唐突ですが、フォント好きですかー? わたしは大好きです。フォントファイル眺めているだけで、うっとりしてきちゃう。プログラマは、多かれ少なかれ、タイポグラフィーフェチなとこがあると思うんですよ。

ふたたび唐突ですが、文字コード好きですかー? わたしは嫌いでした。なんか、何種類もあるしー。化けるしー。思い通りの文字でないしー。でも、その仕組みを勉強して理解したら、好きになってきました。…

■iOSおよびOS Xで使えるフォント

さて、フォントがあるならバンバン色んなフォントを使いたいところだけど、あんまり好き勝手に使う訳にはいかないんだよね。ユーザの環境にそのフォントがあるかどうか、ってのを確認しないといけない。

フォントには、システムに標準で付属するもの、ユーザが自分でインストールしたもの(OS X)、アプリにあらかじめ埋め込んであるもの(iOS)、なんかがある。特殊なフォントを使うときは、そのフォントがあるかどうか調べないといけないよ。…

■フォントの幾何学情報

フォントオブジェクトが取得できたら、次はフォントの色々な属性を調べたい。フォントにはねぇ、ほんとに色々な属性情報が埋め込まれているんだ。きれいな文字組を実現するには、こられの情報が何を表しているか、きちっと理解する事が重要なんだ。

いちばん重要で、見た目にも興味深いのが、フォントの幾何学的な情報だね。つまり、どこがどのくらいの大きさになっているか、っていうことだ。…

Keywords: フォント、NSFont、UIFont、CTFont、CGFont、Font Book、ascent、descent、x-height、cap height、advancement、bounding box、ascender、descender、capHeight、xHeight、pointSize、maximumAdvancement、boundingRectForFont、advancementForGlyph:、boundingRectForGlyph:、glyphWithName:、CGFontGetUnitsPerEm、CGFontGetAscent、CGFontGetDescent、CGFontGetCapHeight、CGFontGetXHeight、CGFontGetFontBBox、CGFontGetGlyphAdvances、CGFontGetGlyphBBoxes、CGFontGetGlyphWithGlyphName

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

HMDTアプリケーション

icon512.png
HMDT BOOKS