2013-02-08 82 views
1

可能有人請告訴我這是什麼意思:錯誤,同時運行的iPhone應用程序幫助 - __NSCFConstantString錯誤含義

2013-02-08 11:19:49.394 xxxxx[10545:907] set selected tab with tag 3 
2013-02-08 11:19:49.560 xxxxx[10545:907] did select item 
2013-02-08 11:19:49.562 xxxxx[10545:907] tab clicked 
2013-02-08 11:19:49.566 xxxxx[10545:907] will show view controller MoreViewController 
2013-02-08 11:19:49.567 xxxxx[10545:907] will show other VC 

2013-02-08 11:19:49.579 xxxxx[10545:907] -[__NSCFConstantString offImage]: unrecognized selector sent to instance 0x21994c 
2013-02-08 11:19:49.580 xxxxx[10545:907] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFConstantString offImage]: unrecognized selector sent to instance 0x21994c' 

我只是想修改一些代碼,但是這些修改沒有工作。所以按下z並解開了我修改的所有內容,但是現在我收到了這個錯誤。

+0

您可能正在爲已釋放/釋放的對象調用一個方法,並且其內存空間區域現在由不執行該方法的新(不同)對象/實例使用:您有一個「Zombie」 – meronix 2013-02-08 16:38:33

回答

2

「無法識別的選擇器發送到實例」錯誤總是意味着一件事:你在不支持它的實例上調用方法。在這種特殊情況下,你在你的代碼行,看起來像這樣:

[someObject offImage]; 

在此行中,someObject是字符串,它不具有offImage方法的一個實例。

這個問題可以通過傳遞一個錯誤類型的對象,以其他方法引起的:

[someTarget objectWithOffImage:@"Hello"]; 

的方法,可以期待的是響應offImage一個對象,但你傳遞一個字符串。

最後,您可能試圖調用類別中的方法,但是您忘記導入該類別的頭文件。

+0

嗯,這很奇怪。我在這裏調用[item offImage]: static NSString * CellIdentifier = @「Cell」; UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if(cell == nil){cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; // Set cell style } TabBarItem * item = _moreItems [indexPath.row]; cell.imageView.image = [item offImage]; \t cell.textLabel.text = item.title; return cell; 所以實例不支持offImage? – 2013-02-08 16:50:54

+1

@SulaimanMajeed這意味着'_moreItems [indexPath.row]'指向一個字符串對象。當'indexPath.row'的值大於數組的大小時,或者當數組有一個懸掛指針時(例如用於指向已被解除分配的對象,以及用於存儲已經被其他對象重用,在這種情況下,對於一個常量字符串)。 – dasblinkenlight 2013-02-08 17:28:23

+0

我發現_moreItems [indexPath.row]指向內存中無效的位置。我仍然不確定爲什麼有一個晃來晃去的指針。我試圖找出懸掛指針的起源地。你幫我找到了我的錯誤的根源。感謝您的幫助和明確的答案! – 2013-02-08 18:01:36

0

您正在將消息-offImage發送到NSString的實例,該實例沒有該名稱的方法。改變你的代碼,以便-offImage被髮送到正確的對象類型

相關問題