ios 如何将“SEL”和“id”转换为 NSString?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/4490082/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-30 18:21:21  来源:igfitidea点击:

How to convert "SEL" and "id" to NSString?

iosobjective-cnsstringselector

提问by Manni

id parent;
SEL selector;

// lot's of code...

if ([parent respondsToSelector:selector]) {

}
else {
    // This doesn't work:
    NSString *errorMessage = [NSString stringWithFormat:@"%@ in class %@ doesn't exist!", selector, parent];
}

How do I convert "SEL" and "id" to a String?

如何将“SEL”和“id”转换为字符串?

回答by BoltClock

Call NSStringFromSelector()passing your selector as its argument to get the selector string, and use [parent class]for the parentobject's class:

调用NSStringFromSelector()将选择器作为参数传递以获取选择器字符串,并[parent class]用于parent对象的类:

NSString *errorMessage = [NSString stringWithFormat:@"%@ in class %@ doesn't exist!",
    NSStringFromSelector(selector), 
    [parent class]];