ページ

2010年3月7日日曜日

今週のCocoa情報(3/7) - 今週気になった Cocoaプログラミング情報の紹介

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

How can I tell the compiler that my class resolves methods dynamically? - Stack Overflow
動的に用意するメソッドについて、コンパイラで警告を出さないようにするには?
1. informal protocol (category) を使い、そのメソッドを定義しておく
2. performSelector: を使う
3. NSInvocation を使う

1. の方法は Safari Plugin で Method Swizzling をやるときに使われているのを見たことがある。


OBJ-C: Getting the minimum/maximum value in a NSMutableArray - Stack Overflow
配列内の最大値、最小値を求めるには?

Key-Value Coding の "Set And Array Operators" が使える。
Mac Dev Center: Key-Value Coding Programming Guide: Set and Array Operators

こんな感じ。

float maxX = [[contentArray valueForKeyPath:@"@max.x"] floatValue];
便利だ。


how to make a single method in a class to private in Objective-c? - Stack Overflow
プライベートメソッドに関する話題。
"class extensions" (anonymous categories) なんてのは初めて知った。




@interface MyClass ()
    - (void)myPrivateMethod;
@end
@implementation MyClass
    - (void)myPrivateMethod
    {
        //implementation goes here
    }

    -(void)someOtherMethod
    {
        [self myPrivateMethod];
    }
@end
@interface MyClass () の様にカテゴリ名を指定しない形式を指すらしい。こうするとカテゴリであるにもかかわらず未実装だとコンパイラが警告を出す。

Mac Dev Center: The Objective-C Programming Language: Categories and Extensions
Class extensions are like “anonymous” categories, except that the methods they declare must be implemented in the main @implementation block for the corresponding class.
ときて
Class extensions allow you to declare additional required API for a class in locations other than within the primary class @interface block
とのこと。

HTML character decoding in Objective-C / Cocoa Touch - Stack Overflow
& などのエンティティ表記のデコード方法について。

関連:
Converting & to & in Objective-C - Stack Overflow


Objective C HTML escape/unescape - Stack Overflow
同じくエンティティ表記のエンコード/デコードに関する話題。

Mac OS X の場合、CFXMLCreateStringByUnescapingEntitiesを使える。iPhoneでは使えない。

関連:
Apple - Support - Discussions - [iPhone] Any built in way to convert ...


Objective-C 2.0 dot notation - Class methods? - Stack Overflow
Class methods で .(ドット)表記が使えるか?⇒使える


Objective-CからMacRubyを利用する - Watsonのメモ
MacRuby 0.4から、Objective-CでMacRubyを利用するためのAPIが公開されています。このAPIを使用すれば、アプリケーションにplugin機構を比較的容易に導入できるかと思います。
面白い。いいかも。


NuでMac GUIプログラミング Twitterクライアントを作ってみよう(1/3):CodeZine

なんとなく気になる。


How can I download images without holding up everything else? - Stack Overflow
ブロックしないで複数の画像をダウンロードするには。よくある話だがソースがいろいろ掲載されていて必要な時に参考になる。