タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

Objective-Cに関するisaisstillaliveのブックマーク (8)

  • iOSコーディングスタイルを変えてしまうBlocksKitの紹介 - 中継地点

    iOS4からBlockが導入されました。利用目的としてはDelegateパターンと大差ないと思っていますが、処理記述が呼び出し元で記述できることで可読性が高くなります。 また、コールバック時に利用されるperformedSelectorが非常に使いづらく複数の引数となった場合などを考慮してNSDictionaryで定義したりInvocationを使う必要がったりと面倒な点が多々ありました。 今回は、CoreFoundationにカテゴリで組み込まれたBlockを活用したBlocksKitフレームワークを紹介したいと思います。かなり便利なため、今後のコーディングスタイルを変えてしまうほどのインパクトがあると個人的には思っています。 BlocksKit https://github.com/zwaldowski/BlocksKit BlocksKitはBSD, MITライセンスの元で利用可能で

    iOSコーディングスタイルを変えてしまうBlocksKitの紹介 - 中継地点
  • UIAlertView の delegate 束縛を解放しよう - mixi engineer blog

    どうも、佐野です。今回は UIAlertView の拡張カテゴリを作って、delegate ではなく Block でコールバック処理を記述するための拡張カテゴリの作り方を紹介します。 iOS4 から Objective-C では Blocks という独自のクロージャ機能が搭載されました。これによってアニメーションの記述やコールバック処理などグッと直観的・効率的に記述できるようになったのですが、残念ながら UIKit によって提供されているクラスの多くはまだ Blocks に最適化された作りになっていません。UIAlertView もそのひとつです。 UIAlertView は、その delegate を実装することでユーザアクションに対する処理を記述する訳ですが、どうも使い勝手が悪い。例えば、同じで画面内で2通りの UIAlertView を表示するような UIViewController

    UIAlertView の delegate 束縛を解放しよう - mixi engineer blog
  • Cocoaのためのコーディングガイドライン

    はじめに 公開APIを持つCocoaフレームワーク、プラグイン、その他の実行環境の開発には、アプリケーション開発に用いられるものとはまた異なる手法や慣習を必要とします。あなたの製品の主要な顧客は開発者であり、彼らをあなたのプログラム的インタフェースによって迷わせないことが大切になります。 書にはあなたのインタフェースを一貫性のある、明確なものとするために役立つ、便利なAPI命名の慣例が収められています。また、版数管理、バイナリ互換性、エラー処理、メモリ管理といった、フレームワークに特有の—もしくは、フレームワークでより重要となる—プログラミングテクニックも含まれています。書の話題には、Cocoaの命名の慣例、そしてフレームワークのための推奨されるプログラミングの習慣の両方が含まれています。 書の構成 書の話題に含まれる記事は、大きく二つの種類に分かれています。初めの大きなグループは

  • Objective-C入門 : WisdomSoft

    Objective-C入門 この講座は、C 言語(ISO/IEC 9899:1990)を理解していることが前提です Objective-Cとは? インポート クラスの宣言と定義 メソッド 継承 オーバーライド イニシャライザ オブジェクトの解放 静的な型 可視性 クラスメソッド クラス型 セレクタ メソッドのポインタ カテゴリ プロトコル 戻る

  • こたつつきみかん » なぜ Objective-C は気持ち悪いのか – 完

    なぜ Objective-C は気持ち悪いのか分析してみる企画。これまで、見た目やクラスについての気持ち悪さを考えましたが、最後に全体的に気持ち悪くしている要素を探ろうと思います。 参照カウンタ方式 Objective-C をはじめて最初に躓くのが、このメモリ管理だと思います。わかってしまえば、非常に簡単なルールで管理されていることが理解できるのですが、理解するのが少し難しく感じる方も多いようです。また、Javaの人から見ればガベージコレクションないの?C++の人から見れば、スマートポインタないの?なぜいまどき、煩わしそうな参照カウンタ方式を採用しているのだろうか、と思われることでしょう。しかし、実際には、それほど煩わしいものでもなく、ガベージコレクションよりはパフォーマンスはいいので、デメリットしかないわけではありません。2.0からは、ガベージコレクションを有効にもできます。 nilが無

  • こたつつきみかん » なぜ Objective-C は気持ち悪いのか – クラス編

    なぜ Objective-C は気持ち悪いのか分析してみる企画。前回はコードの見た目について考えましたが、今回はクラスについて考えてみます。 動的な生成のみ Objective-C は、静的なインスタンスを生成することはできず、必ず動的なインスタンスを生成しなければなりません。常にポインタで扱うことになるので、高速な反面、メモリ管理の煩わしさが常につきまといます。通常、インスタンスの生成、破棄は次のようにします。 id object = [[NSObject alloc] init]; [object release]; NSObject に対して alloc メッセージを送り、インスタンスのメモリ領域を生成します。そのあとに、それに init メッセージを適用し、インスタンスを初期化します。ほとんどの場合、alloc, init はペアにして実行します。なぜなら、alloc しても in

  • こたつつきみかん » なぜ Objective-C は気持ち悪いのか – 見た目編

    iPhone OS 向けのアプリケーション開発で注目を浴びている Objective-C 言語ですが、Objective-C についてあまりいい噂を耳にしないので、なぜそうなってしまうのかという分析をしてみることにしました。記事が長くなりそうだったので、今回は見た目編です。 1. 見た目 プログラミング言語において、見た目というものは重要な要素のひとつです。Objective-C 言語はオブジェクト指向言語でありますが、実際のコードをみてみると、ほかのメジャーな言語とはちょっと違った構文がとられています。 メッセージ式 Objective-C では、メソッド呼び出しをメッセージ式で記述します。以下は、anObject に message というメッセージを送る例です。 [anObject message]; [anObject message:arg1]; [anObject messag

  • Objective-Cでオブジェクトリテラルと添字アクセス - Takebayashi.Asia

    OSX v10.8 Mountain Lionがリリースされましたね。Mountain LionではObjective-Cで待望のオブジェクトリテラルと添字アクセスがサポートされました。ここでは簡単な使い方を紹介します。 オブジェクトリテラル オブジェクトリテラルを使うことによって、今まで面倒だったCocoaオブジェクトの生成が簡単に行えるようになります。 例えば、3つのNSStringインスタンスを持つNSArrayインスタンスを生成するには、今まで以下のように書いていました。 NSArray *array = [NSArray arrayWithObjects:@"A", @"B", @"C", nil];

  • 1