1

nsdictionaryにIDとセレクターを追加するにはどうすればよいですか?これらは機能しません:

id target = mainTarget;
    SEL selector=mainSelector;
    NSDictionary *tAndS=[[NSDictionary alloc]initWithObjectsAndKeys:target,@"target",selector,@"selector", nil];
4

2 に答える 2

2

ドキュメントには次のように書かれています。

一般に、キーは任意のオブジェクトにすることができます(NSCopyingプロトコルに準拠している場合-以下を参照)

セレクターはNSCopyingに準拠していませんが、ストリングに変換できます(プロトコルに準拠しています)。

NSString* sel = NSStringFromSelector(@selector(hello:));

違いはidありません。オブジェクトがに準拠してNSCopyingいる場合は、問題ありません。そうでない場合は、実装するなど、NSData実装するものでラップする必要がありますNSCopying(後者は「最もクリーン」です)。

于 2012-07-20T10:16:09.583 に答える
0

このようにNSMutableDictionaryを使用してみてください

NSMutableDictionary *tAndS = [[NSMutableDictionary alloc]init];
[tAndS setObject:target forKey:selector];
于 2012-07-20T10:09:18.950 に答える