如何在字典中存储非对象?

air*_*tyh 4 objective-c

我尝试将选择器(SEL)存储在NSMutableDictionary中并导致崩溃,可能是因为字典试图将其作为对象指针取消引用.在字典中存储非对象的标准配方是什么?

dre*_*lax 15

您可以将选择器转换为NSString使用NSStringFromSelector(),您可以使用其他方式返回NSSelectorFromString().

SEL aSel = @selector(takeThis:andThat:);

[myDict setObject:NSStringFromSelector(aSel) forKey:someKey];

SEL original = NSSelectorFromString([myDict objectForKey:someKey]);
Run Code Online (Sandbox Code Playgroud)