ひtoりgoと

まだ情報が足りない

macOS 開発

iOS SDK と一体化しているせいで Mac 開発者はしばらく触ることのできなかった Xcode 4.2。Objective-C 新機能の Automatic Reference Counting (ARC) が気になっていたのだ。

やっとリリースされたので、自作フレームワークを ARC に対応させるために調査中。

オブジェクトを retain しない辞書として使っていた NSMapTable だけど、Class Reference によると

Important: NSMapTable does not support weak references under Automatic Reference Counting (ARC).

ARC 環境での weak 参照はサポートされないとのこと。NSPointerArray や NSHashTable も同じらしい。これは strong 参照されてしまうという意味なのか、これまでのように、retain はしないけど解放時の自動 nil 化はされないので解放される前に取り除いてねという意味なのか、どちらなのだろう。
C 言語の id 配列を使っていた部分もあり、対策を考えないといけない。

各 Callback を NULL にした NSArray & NSDictionary はどうなんだろう。

Share

リンクも共有もお気軽に。記事を書くモチベーションの向上に役立てます。

© 2005-2021 zumuya