私はNSMapTable
をiOS 6プロジェクトのいくつかの場所で使用しています。オブジェクトにアクセスするために新しい辞書サブスクリプティングスタイルを使用したいと考えています。 (NSMapTable
は、店舗をNSMutableDictionary
のように主に動作しますが、キーのための様々なメモリ管理オプションを設定することができ、その値より背景をthis StackOverflow questionに。。)iOS 6のNSMapTableのサブスクリプト構文
しようとしたときに、これはNSMapTable
インスタンス上の構文を添字使用するようにコンパイラレポート:
「NSMapTable *」タイプのオブジェクトに見つからない辞書要素を読み取る予定のメソッドです。
カテゴリを使用してNSMapTable
を拡張して、新しいNSDictionary
スタイルのサブスクリプトを許可するにはどうすればよいですか?
はIMO、これは良いアイデアではありません。 'NSMapTable'は理由のために添字を付けません。たとえば、 'NSPointerFunctionsStrongMemory'を使って' NSMapTable'を取得した場合、なぜ 'NSCopying'に従う必要がありますか?このカテゴリは実際には 'NSMapTable'を辞書のようなコレクションにしていません。 –
@RudolfAdamkovicあなたはサブスクリプションメソッドの宣言で 'NSCopying'の使用を避けることができます。 – k06a