Objective-C
ポリモーフィズム(多態性)について考えてみる。 Java で言えばインターフェース実装、もしくは、メソッドオーバライド、C++ で言えば仮想関数とか。 まぁ早い話が大本の枠を作って、実装は個々のクラス次第ということ。 public interface IWorker { void W…
継承についても考えてみる。 またも Wikipedia 先生 あるオブジェクトが他のオブジェクトの特性を引き継ぐ場合、両者の間に「継承関係」があると言われる。 とのこと。 メソッドの動作や変数やパラメータを受け継ぐわけですな、具象化の話まで行くとポリモー…
言語仕様からいえば、ポリモーフィズムに継承やインプリメントが要らないのは楽でよい。 というかメッセージという考え方の時点で既に Java のそれと全然違うのは明白。 だれだ Java のオブジェクト指向で「メッセージ」とかぬかした奴(なんかかなりいた気…
よく C++/Java/C# で使うカプセル化を考えてみる。カプセル化の概念ちゃーなんぞやと説明面倒なので wiki 先生に聞いてみると、 データを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、オブジェクトの実際の型を隠蔽したりする データ隠蔽:…
さくっとテスト対象プログラム @interface HelloObject : NSObject { } - (NSString*)helloMessage:(NSString*)name; @end #import "HelloObject.h" @implementation HelloObject - (NSString*)helloMessage:(NSString*)name { return [NSString stringWithF…
普通のクラス図エディタだと、どうも Objective-C のメソッドを表現できないので、XMind で書いてみた。 うん良さげ。
通常、 Skype とかのダウンロードサイトを開くときは、以下の手順を踏む。 PC で iTunes 起動して、商品を検索(ここでは skype) 商品名を右クリックして、「iTunes store URL をコピー」を選択。 「http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewS…
前回と似たネタ。 #import <QuartzCore/QuartzCore.h> - (UIImage*) buildImageFrom: (UIView*)view { UIGraphicsBeginImageContext(view .bounds.size); [view.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage* viewImage = UIGraphicsGetImageFromCurrentImageConte</quartzcore/quartzcore.h>…
何の事は無いこれだけ。 [UIImage imageWithCGImage:UIGetScreenImage()]; かなり地獄を見た。
デフォルトの NSXMLPerser がシーケンスアクセスしかできなくてとても扱いづらい。 かといって、根っこの libxml2 は高性能で早くて DOM 使えるのにドキュメントが腐ってて扱いにくい。 で、探して見っけたのがこれhttp://code.google.com/p/gdata-objective…
公式チュートリアルも含めて悶絶したので、ここに手順をメモしておく。 XCode 起動 Model を適当に作成する 内容はとりあえずこんな感じ。 #import <Cocoa/Cocoa.h> @interface HelloModel : NSObject { int count,value; } @property(readwrite) int count,value; -(int)ex</cocoa/cocoa.h>…