【问题标题】:iOS Error - "unrecognized selector"iOS 错误 - “无法识别的选择器”
【发布时间】:2012-12-03 23:16:02
【问题描述】:

Main.m

NSDictionary *additionalQueryParameters = [NSURL ab_parseURLQueryString:[url query]];

OAuth.h

@interface NSURL (OAuthAdditions)

+ (NSDictionary *)ab_parseURLQueryString:(NSString *)query;

@end

OAuth.m

@implementation NUSL (OAuthAdditions)

+ (NSDictionary *)ab_parseURLQueryString:(NSString *)query
{
 does something..
}

当它运行该行时,它会抛出这个错误......

2012-12-03 15:10:58.506[12500:1d403] +[NSURL ab_parseURLQueryString:]: 无法识别的选择器发送到类 0xaece26c

2012-12-03 15:10:58.508[12500:1d403] * 终止应用程序由于 未捕获的异常 'NSInvalidArgumentException',原因:'+[NSURL ab_parseURLQueryString:]:发送到类的无法识别的选择器 0xaece26c'

* 第一次抛出调用栈:(0xada8012 0xa3d6e7e 0xae332ad 0xad97bbc 0xad9794e 0x17b5ee8 0x17b5724 0x17b58d6 0xa84f53f 0xa861014 0xa8522e8 0xa851fcb 0x96097b24 0x960996fe) libc++abi.dylib: 终止调用 抛出异常

知道为什么找不到它以及如何修复它吗?谢谢。

【问题讨论】:

  • OAuth.m中的方法是否在@implementation (OAuthAdditions)内?
  • 缺少导入会发出编译器警告,但不会出现运行时错误。
  • OAuth.m 目标成员资格是否正确?
  • 是的,我确实将 .h 文件导入到使用它的类中。
  • 下面的答案都没有解决这个问题

标签: objective-c ios ios5 twitter-oauth unrecognized-selector


【解决方案1】:

确保 OAuth.m 实际上在目标中并在您的项目中构建......

【讨论】:

  • 我检查了文件位置,它在我的项目中 - 这是否确认它在目标和建筑物中?
  • 没有。在项目导航器中选择 .m 文件。然后单击查看菜单并选择实用程序,然后选择显示文件检查器。在文件检查器中,查看 Target Membership 部分。确保检查了适当的目标。
【解决方案2】:

您的类别实现 (OAuth.m) 名为 NUSL,而不是 NSURL。编译器对该方法没有问题,因为类别接口(标头)命名正确。

【讨论】:

    猜你喜欢
    • 2012-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多