2013-07-31 26 views
1

以下是錯誤我收到「在我的界面生成錯誤未知類<MyClass>」但我沒有MyClass的

2013-07-30 22:20:53.227 Matchismo[562:c07] Unknown class PlayingCardCollection in Interface Builder file. 
2013-07-30 22:20:53.229 Matchismo[562:c07] -[UIView setSuit:]: unrecognized selector sent to instance 0x71433f0 
2013-07-30 22:20:53.230 Matchismo[562:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView setSuit:]: unrecognized selector sent to instance 0x71433f0' 

我沒有一個名爲「PlayingCardCollection」所以我不類看看我怎麼能接收這個錯誤,除非我指出錯誤,但我找不到這樣的錯誤。

下面是我的一些代碼

- (Deck *) createDeck 
{ 
return [[PlayingCardDeck alloc] init]; 
} 
- (NSUInteger) startingCardCount 
{ 
return 20; 
} 
- (void)updateCell:(UICollectionViewCell *) cell usingCard:(Card *) card 
{ 
if ([cell isKindOfClass:[PlayingCardCollectionViewCell class]]) { 
    PlayingCardView* playingCardView = ((PlayingCardCollectionViewCell *)cell).playingCardView; 
    if ([card isKindOfClass:[PlayingCard class]]) { 
     PlayingCard *playingCard = (PlayingCard *)card; 
     playingCardView.rank = playingCard.rank; 
     playingCardView.suit = playingCard.suit; 
     playingCardView.faceUp = playingCard.faceUp; 
     playingCardView.alpha = playingCard.isUnplayable ? 0.3 : 1.0; 
    } 
} 
} 

這是另一個文件的一部分。

- (NSInteger) numberOfSectionsInCollectionView:(UICollectionView *)collectionView 
{ 
return 1; 
} 

- (NSInteger) collectionView:(UICollectionView *)collectionView 
    numberOfItemsInSection:(NSInteger)section 
{ 
return self.startingCardCount; 
} 
- (UICollectionViewCell *) collectionView:(UICollectionView *)collectionView 
       cellForItemAtIndexPath:(NSIndexPath *)indexPath 
{ 
UICollectionViewCell* cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"PlayingCard" forIndexPath:indexPath]; 
Card* card = [self.game cardAtIndex:indexPath.item]; 
[self updateCell:cell usingCard:card]; 
return cell; 
} 

如果還有其他代碼需要告訴我。我爲這個項目提供了很多文件,但是自從我的項目上一次成功運行以來,大多數文件都沒有被觸及。提前致謝!

+0

'但我沒有MyClass'正確。搜索您的許多XIB,查找您在其中一個控件的類字段中鍵入的拼寫錯誤,並將其刪除。 – CodaFi

+0

我一直在那裏看,但我終於找到了它。那正是什麼錯誤。我內部有太多的視圖,我想我沒有檢查所有的視圖。 – ddelnano

回答

1

這就是爲什麼你的應用程序正在終止:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView setSuit:]: unrecognized selector sent to instance 0x71433f0' 

原因更仔細尋找,發現它說:

'-[UIView setSuit:]: unrecognized selector sent to instance 0x71433f0' 

的消息告訴你,你的應用程序試圖發送一個setSuit:消息的UIView一個實例。 UIView類不聲明setSuit:方法或suit屬性,所以通常這不起作用。

該問題可能與第一個問題相關,也可能與第一個問題有關,它看起來好像您將nib文件中的對象(可能是視圖)的身份設置爲稍後刪除或重命名的類。查看nib文件中對象的身份(使用Identity Inspector選項卡),並查看是否可以找到PlayingCardCollection

如果是這樣,將其更改爲更合適的東西。很可能,這是運行時異常的間接原因。

0

錯誤說,它設置爲在Interface Builder一些視圖PlayingCardCollection和類all.The類名不存在

要找出一個最好的選擇是選擇它的筆尖,並右擊,打開它作爲源代碼顯示你的筆尖的xml結構表示 然後搜索PlayingCardCollection並找到它。查找帶有該內容的筆尖,並且可以從該筆尖找到該視圖。對筆尖本身的更多研究可以整理視圖容易

相關問題