タグ

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

  • Obejctive-C 3分クッキング - A Day In The Life

    この記事では C++Java、C♯、Rubyなどのオブジェクト指向言語の使用経験がある方のために Objective-C の特徴がさくっと簡単にわかるようにまとめてみました。 Objective-C ってどんな言語? オブジェクト指向言語は大きく「クラスベース動的型付け」「クラスベース静的型付け」「プロトタイプベース*1動的型付け」の3つにわけることが出来ます。Objective-C は「クラスベース動的型付け」に分類されるオブジェクト指向言語です*2。Objective-C を他のオブジェクト指向言語と比較して分類してみると以下の図のようになります。 クラスベース動的型付けオブジェクト指向言語の元祖といえるのが Smalltalk です。Objective-C は C言語をベースに Smalltalk 型のオブジェクト指向機能を持たせた言語です。 必要な前提知識 Objective

    Obejctive-C 3分クッキング - A Day In The Life
    kokogiko
    kokogiko 2010/08/15
  • AndroidとiPhoneの加速度計アプリの実装方法を比較してみる - A Day In The Life

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

    kokogiko
    kokogiko 2010/08/07
  • 知識ゼロからはじめるiPhoneアプリ開発 - A Day In The Life

    iPhone アプリ開発を初めてはや2年。わけわからんレベルからなんとかアプリをリリースするところまでこぎつけました。もともと趣味ではじめた事ですが今は仕事でも iPhone アプリ開発をしています。ここに至るまで自分が調べたことや参考にした文書をアプリの構想からアプリをリリースするまでの手順にそってまとめてみました。 iOSアプリ開発関連のを書きました 初めて iOS アプリ開発をされるかた向けに「プロの力を身につける iPhone/iPadアプリケーション開発の教科書」というを書きました。 この記事を読んで iOS アプリ開発に興味を持たれた方におすすめです(2013年2月26日発売)。2015年1月17日にSwiftに対応した改訂版がでました。 の内容に関する詳しい記事はこちらです。 iOSアプリ開発のを書きました 初期投資 8400円とプライベートな時間、iPhoneまたは

    知識ゼロからはじめるiPhoneアプリ開発 - A Day In The Life
    kokogiko
    kokogiko 2010/08/04
  • AndroidとiPhoneのUIの実装方法を比較する - A Day In The Life

    使えるUI部品の種類は似たり寄ったりですね。iPhoneはガベージコレクションが使えないのでオブジェクトの開放をしてやる必要があってめんどくさいです。 Viewの種類 iPhoneにはチェックボックスがなく代わりにUISwitchがあるのが面白いです。両者の違いはなんといっても階層データのナビゲーション方法の違いではないでしょう。Androidにはバックボタンがあるのでナビゲーション用のコントロールがありません。一方iPhoneUINavigationBarというコントロールを使って階層データを表示させます。 iPhone Android UIView View UIWindow Window UIScrollView ScrollView UITableView ListView UIImageView ImageView UIActionSheet Dialog UIAlertVie

    AndroidとiPhoneのUIの実装方法を比較する - A Day In The Life
  • 開発者目線でAndroidとiPhoneを比較してみる - A Day In The Life

    iPhoneAndroid 両方のアプリ開発を経験したので両者を比較してみます。 技術情報 iPhone iPhone Dev Center iPhone Dev Center(日語) Android Android Developers Android Developers(日語) OS iPhone Mac OS Xベース Android Linuxベース 開発言語/開発環境 iPhone Objective-C 2.0(ガベージコレクションは使えない) Xcode Interface Builder(画面デザイン用の開発環境) その他 MonoTouchを使うとC♯で開発できる Android Java SDK 1.5または1.6相当のもの(SunのJavaとVMが違うのでこのような書き方をしています) Eclipse ADT(Eclipseプラグイン) 動作環境 iPho

    開発者目線でAndroidとiPhoneを比較してみる - A Day In The Life
  • iPhoneとAndroidのアプリケーション間連携方法を比較してみる - A Day In The Life

    アプリAとアプリBがあり、アプリAでテキストボックスに文字を入力しボタンを押すとテキストボックスの内容をアプリBの画面に表示するサンプルを使って説明します。 iPhoneの場合 iPhone では UIApplication クラスの openURL メソッドを使うと他のアプリを起動することができます(Safariもこの方法で起動できます)。iPhone は単一アプリしか立ち上げることができないので openURL メソッドが呼びだされたときに呼び出し元アプリは終了してしまいます。そこでアプリを呼び出す際に呼び出し元アプリのURLを渡し、呼び出されたアプリの作業終了後に戻りURLを使って再び呼び出し元アプリを起動します。このようにすることであたかもアプリ間連携しているかのようにできます。 呼び出される側の実装 URLパターンを決める 他のアプリから起動できるようにするためにまずは呼び出しに

    iPhoneとAndroidのアプリケーション間連携方法を比較してみる - A Day In The Life
  • 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

  • iPhone の地図上に簡単に図形を書く方法 - A Day In The Life

    以前は MKMapView 上に線を引いたり四角形を書いたりするのに自前で View を作成しないといけませんでしたが iOS4 になって地図上に図形を書くためのクラスが追加されました。使い方がわりと簡単なので紹介したいと思います。 地図に線を引く 地図に線を引くには MKPolyline クラスと MKPolylineView クラスを使います。山手線の渋谷駅から新宿駅に線を引く例をもとに説明します。 手順は以下の通りです。 プロジェクトMapKit.framework を追加 UIViewController のサブクラスを作成し MKMapViewDelegate プロトコルの実装を宣言する viewDidLoad メソッドで MKPolyline オブジェクトを生成し MKMapView の addOverlay メソッドを使ってオーバーレイを追加する mapView:view

    iPhone の地図上に簡単に図形を書く方法 - A Day In The Life
  • 1