2010-11-23 68 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:]不存在,因此錯誤和「可能」一場崩潰。編譯器應該在您的源代碼中向您顯示一條警告,告訴您哪裏出錯。