2010-11-23 72 views
-2

我收到以下错误,同时添加背景图片到表格视图中单元格的内容收到错误[NSCFString了setBackgroundImage:forState:]:

[NSCFString setBackgroundImage:forState:]: unrecognized selector sent to instance 

    UIButton *playBtn = [UIButton buttonWithType:UIButtonTypeCustom]; 
      playBtn.frame = CGRectMake(x+playBtnXPos, y+playBtnYPos, playBtnWidth, playBtnHeight); 
      [playBtn addTarget:self action:@selector(playBtnClicked:) forControlEvents:UIControlEventTouchUpInside]; 
      if(playingButton && streamer){ 
       if(playingButtonTag == i && [streamer isPlaying]){ 
        [playBtn setBackgroundImage:[UIImage imageNamed:pauseBtnimgName] forState:UIControlStateNormal]; 
        playingButton = playBtn; 
       }else [playBtn setBackgroundImage:[UIImage imageNamed:playBtnimgName] forState:UIControlStateNormal]; 
      }else [playBtn setBackgroundImage:[UIImage imageNamed:playBtnimgName] forState:UIControlStateNormal]; 
      playBtn.tag = i; 

      [cell.contentView addSubview:playBtn]; 

..... 

任何人可以帮我...

感谢...

+0

-1。你似乎没有显示有问题的代码。是背景图片。还有什么地方使用“playingButton”? – 2010-11-23 22:09:23

+0

两件事:1)添加一些空格。这很难阅读。帮助我们帮助你。 2)告诉我们它崩溃的路线。看看你的堆栈跟踪,它会告诉你。再次,帮助我们帮助你。 – 2010-11-23 22:13:31

+0

当按钮设置背景图像时崩溃。 – rockey 2010-11-23 22:29:27

回答

3

当你有内存管理问题(选择被发送到错误的实例是内存管理问题的标志),也有一些事情可以做:

  1. 重新读取可可memory management rules和确保你在关注他们。
  2. 运行static analyser。这往往会挑选你忽略内存管理规则的地方。
  3. 尝试使用NSZombieEnabled来确定是否[以及何时]将消息发送给未分配的实例。
-1

运行时是说这一切:你试图调用NSString东西不存在了,我知道肯定[NSCFString setBackgroundImage:forState:]不存在,因此错误和“可能”一场崩溃。编译器应该在您的源代码中向您显示一条警告,告诉您哪里出错。