入門

マウスイベントを無視する方法

ビューAの上にビューBを置くとする。CocoaやCappuccinoでビューBではマウスイベントを扱わずにビューAでマウスイベントを扱いたい場合はどうするか?通常だと、ビューBにマウスイベントが配信されてしまい、ビューAへは配信されない。 これを解決するのが、h…

CollectionViewは人気がないのか?

NSCollectionViewについて書かれた情報は少ない。本家CocoaではInterface BuilderでNSCollectionViewを扱う。そのため、プログラミングによる使い方がわからない。 CappuccinoのCPCollectionViewはNSCollectionViewをコピーしている。こちらはNSCollectionVi…

強引さが優しさに変わるとき

Cocoaにはかなり強引なメソッドがいる。その名もNSControlクラスのtakeDoubleValueFrom:*1。あまりにも強引すぎて、個人的には正直理解しずらい。 メソッド名だけみると、引数に指定されるインスタンスの値を取得するというもの。しかし、戻り値は、void。値…

Cappuccino7βを使ってみた#3

Cappuccino7βを導入した最大の目的であった「Interface Builderで作成した nibファイルをCappuccinoアプリに適用する」をやってみた。 これをするためには、Interface Builderでnibファイルを作成し、nib2cibでCappuccinoアプリ用のcibファイルに変換する必…

Cappuccino7βを使ってみた#2

Cappuccino7βの環境ができたので、さっそく触ってみた。今回、気になっていたのは、CPTableViewとInterface Builderとの連携。 CPTableView NSTableViewの仕様を見ながら、CPTableViewのサンプルコードを作ってみたところ、ちゃんと動いた。 テーブルのセル…

Cappuccino7βを使ってみた

最近、マイブームのCappuccino。普通にリリースされているCappuccino6ではバグがあったり、試したい機能がなかったりするので、7βを使ってみた。 7βを使ってみるためには、7βのソースをダウンロードし、ビルドする必要がある。 ビルド環境 ビルドした環境は…

Cappuccinoってどのくらい使えるのか調査してみた

CappuccinoはMacのCocoaをブラウザ上で動作させるフレームワーク。言語はHTML+JavaScriptではなくObjective-J。Objective-JはObjective-Cをほぼ完全にコピーした言語。 CappuccinoはCocoa互換と言われいるが、それがどの程度、互換があるかの情報が少ない。…

UITableViewControllerはMVCで言うところのViewかControllerか?

iPhoneで代表的なUIの一つがリストメニュー。手で触って、高速にスクロールする様は使っていて楽しい。このリストメニューの実装を簡単にするのがCocoa Touchがアプリ開発者へ提供するUITableViewController。 Cocoa Touchでは、UIXxxViewをサポートする仕組…

何故、CocoaのMVCとレガシーなMVCはアーキテクチャが違うのか?

MacやiPhoneのSDKが提供しているCocoa*1で一番気になるのがMVC。何故、CocoaのMVCは、レガシーなMVCと違うアーキテクチャを採用しているのか。 気になったので、考えてみた。 レガシーなMVC レガシーなMVCの最大の目的は、Modelを再利用するアーキテクチャを…

プログラム初心者がiPhone SDKに向かい合うための心得

iPhone SDKをいじりはじめて早1ヶ月。ようやくiPhoneSDKに慣れてきた。カバーフローっぽいアプリも自作できるところまできた。後は、ライブラリをどこまで熟知できるかと、アイデアの勝負。 今まで、Ajax、Ruby on Rails、Flash、Java(i-appli)、GTK、Xと言…