【问题标题】:[__NSCFString NSInteger]: unrecognized selector sent to instance[__NSCFString NSInteger]:无法识别的选择器发送到实例
【发布时间】:2013-09-16 04:33:04
【问题描述】:

为什么我在尝试恢复/比较我的NSInteger时出现此错误

[__NSCFString subTag]: unrecognized selector sent to instance

这就是我声明 subTag 的方式,它是名为 OptionSubView 的对象的一部分:

@property (nonatomic, assign) NSInteger subTag;

然后,我试图比较这个属性,我的代码崩溃了:

for(OptionSubView *subV in self.optionsSubViews)
{
        if( subV.subTag == segControl.tag)
        {
            subViewSelected = subV.tipo;
        }
}

【问题讨论】:

  • 错误告诉你subVNSString 而不是OptionSubView。验证您如何向此数组添加元素。
  • 谢谢,这就是问题所在。即使我不明白为什么我的对象是字符串而不是 OpctionSubView 对象,我也已经解决了...

标签: objective-c nsstring unrecognized-selector


【解决方案1】:

希望对你有帮助

for(id subV in self.optionsSubViews){
     if([subV isMemberOfClass:[OptionSubView 类]]){
        OptionSubView *subview = subV;
        如果(subview.subTag == segControl.tag){
           subViewSelected = subview.tipo;
        }
     }
}

【讨论】:

  • 谢谢,但是 subV 总是一个 NSString... 我所做的是 OptionSubView *sV = [self.optionsSubViews objectForKey:subV]
  • @user1600801 在那种情况下你必须使用 isMemberOfClass: 方法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多