タグ

ブックマーク / glassonion.hatenablog.com (7)

  • サルでもわかる Core Data 入門【概念編】 - A Day In The Life

    iOS でデータを永続化する方法の続きです。今回は Core Data を使ったデータの永続化方法について説明します。 記事では複雑で習得が難しいとされている Core Data について概念編と実装編の2回に分けて説明していきます。記事の全体的な流れとしては Core Data がどういったフレームワークかというところから O/R マッピングの説明、Core Data を使うメリット、Core Data フレームワークの概要、Core Data を使ったプログラムの例まで説明します。次の記事で実際に動くサンプルを作成します。 Core Data って何? Core Data はモデルオブジェクトを永続化するためのフレームワークです。もとは Mac OS X のために開発されたフレームワークで、iOS 3.0 から使用できるようになりました。 Core Data はデータの永続化に SQ

    サルでもわかる Core Data 入門【概念編】 - A Day In The Life
  • iOS でデータを永続化する方法 - A Day In The Life

    iOS データ設計入門の続きです。前回は iOS であつかうデータ全般について書きましたが今回はデータをフラッシュドライブに保存する方法について説明します。 データの永続化って何? メモリにあるデータはアプリを終了すると消えてしまいます。 アプリを終了しても残しておきたいデータはフラッシュドライブに保存する必要があります。メモリにあるフラッシュドライブに保存することをデータの永続化といいます。永続化されたデータはフラッシュドライブが壊れない限り永続的に保存され残ります。以降 iOS でフラッシュドライブがどのように管理されているのかと、データを永続化するのにどのような方法があるのかについて説明していきます。 フラッシュドライブを構成する3つの領域 データを永続化する方法を説明する前に iOS でフラッシュドライブがどのように管理されているか見ていきましょう。 iOS ではフラッシュドライブ

    iOS でデータを永続化する方法 - A Day In The Life
  • 失敗しない iOS In-App Purchase プログラミング - A Day In The Life

    最近、無料アプリや無料ゲームにアプリ内課金を設置してユーザにアイテムを購入してもらうタイプのものが増えています。App Store トップセールスのうち半数以上がこの無料 + アプリ内課金で占められています。今後アプリ内課金は iPhone/iPad アプリで儲けるための必須の機能になると言っても過言ではありません。 今回はアプリ内課金(In-App Purchase)のプログラミングについて StoreKit フレームワークの基的な使い方から失敗しないためのポイントまで説明していきます。 販売できるアイテムの種類は5種類 アプリ内課金で販売できるアイテムの種類は5種類あります。 Consumable 消費アイテム。ユーザがアイテムを使うと無くなる。例えばシューティングゲームの弾丸やコイン落としゲームのコインなど。同じアイテムを何回でも購入可能 Non-Consumable 非消費アイテ

    失敗しない iOS In-App Purchase プログラミング - A Day In The Life
  • UIWebViewにJSのライブラリを動的に読み込ませる方法 - A Day In The Life

    UIWebView で表示している HTML ページに Javascript ライブラリを動的に読み込ませる方法です。 使う場面はそうないと思いますが、興味位で試してみたらできたので記事にしました。Google Libraries API という Javascript のライブラリを使うと簡単に出来ます。 下記は Google Maps のライブラリを動的に読み込んで位置情報を取得するサンプルコードです。 @interface SmapleViewController { UIWebView *webView; } @property (retain, nonatomic)IBOutlet UIWebView *webView; @end @implements SmapleViewController @synthesize webView; - (void)webViewDidFin

    UIWebViewにJSのライブラリを動的に読み込ませる方法 - A Day In The Life
  • マルチタスキング対応後のアプリのイベントフローをまとめてみた - A Day In The Life

    ※iOS 5の登場でこの記事の内容は古くなりました。最新の情報は以下の記事をご覧ください。 iOS のイベント駆動をライフサイクルイベントとユーザアクションイベントにわけて理解する iOS4で導入されたマルチタスキングですが便利な反面イベントの発生順序が大幅に変更され複雑化しました。イベントの発生順序をきちんと把握しておかないと思わぬところでメモリをったりバッテリに負担をかけてしまうのでまとめてみました。 下図で色の変わっているメソッドはiOS4で追加されたメソッドです。 2010/7/1:図を修正 deallocメソッドを削除しました。アプリ終了時UIApplicationDelegateのdeallocメソッドは呼び出されません。システム側でリークも含めてメモリ領域を解放してくれます。paellaさんご指摘ありがとうございました。 applicationWillResignActiv

    マルチタスキング対応後のアプリのイベントフローをまとめてみた - A Day In The Life
    silem
    silem 2011/05/27
    アプリのイベントフロー
  • iOSアプリ開発のメモリ管理で気をつけること - A Day In The Life

    Objective-C での開発にだいぶ慣れてきたのですが、いまだメモリ管理まわりでハマることが多いのでまとめてみました。 メモリを確保してから解放するまでの流れ メモリを確保してから解放するまでの流れは以下の図のようになります(図はアップルのサイトから引用)。 alloc または init すると参照カウントが1になります alloc または init 系メソッドを呼ぶと参照カウントが1になります。 このように書いたのは、クラスの仕様によって alloc メソッドで retainCount が1になるオブジェクトと init 系のメソッドで retainCount が1になるオブジェクトがあるためです。alloc と init はセットで呼ばれることがほとんどなのでこの違いが問題になることはないと思いますが念のため。 int main() { /* allocで参照カウント1 */ NS

  • AndroidとiPhoneの加速度計アプリの実装方法を比較してみる - A Day In The Life

    大きな違いとしてはiPhoneの場合加速度計のみ管理しているのに対してAndroidは他のセンサー(温度計や磁気センサーなど)と一括りにして管理しています。またiPhoneでは加速度計オブジェクトを直接取得できるのに対しAndroidでは加速度計オブジェクトを取得することができません(Android1.5からSensorクラスが追加され加速度計オブジェクトを取得できるようになりました)。 iPhoneの場合 UIAccelerometerDelegateプロトコルを実装したクラスに加速度イベント(accelerometer:didAccelerate:メソッド)を実装する UIAccelerometer#sharedAccelerometerメソッドで加速度計のオブジェクトを取得する UIAccelerometer#delegateを設定すると加速度イベントが発生する ローパスフィルター(

  • 1