【问题标题】:NSClassFromString issueNSClassFromString 问题
【发布时间】:2013-10-03 08:50:46
【问题描述】:

为什么NSClassFromString(@"Object") 返回 Object 类?

当我尝试使用 respondsToSelector: 忽略它时,我得到了

NSForwarding: warning: object 0x325ef24 of class 'Object' does not implement methodSignatureForSelector: -- 前方有麻烦

NSForwarding: warning: object 0x325ef24 of class 'Object' does not implement doesNotRecognizeSelector: -- 中止

我可以为skipping @"Object" 字符串插入isEqualToString,但这是否有问题?

更新:

“对象”实际上是一个类。它有 5 个可能的选择器: 初始化, 保持, 释放, 自动释放, 类。

无法分配。

【问题讨论】:

  • 什么?在 Objective-C 世界中没有名为“Object”的类...
  • 你的意思是NSObject吗?
  • 显示类定义。
  • 你分配了吗?类* clazz = NSClassFromString(@"Object"); NSObject* obj = [[clazz alloc] init]; [obj respondsToSelector....]
  • 有一个类叫Object。它非常老旧,对许多 NSObject 的方法都没有反应。你不应该使用它。

标签: ios objective-c nsstring


【解决方案1】:

对于课程,请使用instancesRespondToSelector:

【讨论】:

    【解决方案2】:

    如果您阅读文档,您可以看到 respondsToSelector: 仅用于对象。并且 NSClassFromString 返回 You calss 而不是 object。我假设要解决您的问题您需要创建接收类的对象。

    【讨论】:

    • Read this 文档没有描述所有可能的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    • 2014-08-25
    • 2015-04-26
    • 1970-01-01
    相关资源
    最近更新 更多