2014-01-19 21 views
1

我已经为斯坦福大学的iOS 7编程的iTunesU课程中的第一个任务编写了代码。问题是,当我编译时,我得到一个警告,说addCard的方法定义:找不到。iOS 7 Matchismo任务分配1斯坦福大学

这是我在Deck类中的代码。谁能告诉我我做错了什么?

#import "Deck.h" 

@interface Deck() 
@property(strong, nonatomic)NSMutableArray *cards;// of Card 
@end 

@implementation Deck 

-(NSMutableArray *)cards 
{ 
if(!_cards) _cards = [[NSMutableArray alloc] init]; 
return _cards; 
} 

-(void)addCard:(Card *)card atTop:(BOOL)atTop 
{ 
if(atTop){ 
    [self.cards insertObject:card atIndex:0]; 
}else{ 
    [self.cards addObject:card]; 
} 
} 


-(void)addcard:(Card *)card 
{ 
[self addCard:card atTop:NO]; 
} 

-(Card *)drawRandomCard 
{ 
Card *randomCard = nil; 

if ([self.cards count]) { 
    unsigned index = arc4random() % [self.cards count]; 
    randomCard = self.cards[index]; 
    [self.cards removeObjectAtIndex:index]; 
} 
return randomCard; 
} 

@end 
+0

指出哪行是给你的问题。 – rmaddy

回答

5

在你.h文件,你已经命名的方法addCard:,但在你的.m文件,你拼写方法addcard:

Objective-C区分大小写。

更改这条线在.m文件:

-(void)addcard:(Card *)card 

看起来像这样:

-(void)addCard:(Card *)card 
+0

哇...不能相信我没有抓住那个。谢谢! – ChrisHooked

+1

@ChrisHooked当某人发布解决问题的答案时,您应该通过单击答案旁边的复选标记来接受答案。这和你自己一样奖励答案,并且表明问题是完整的。 – rmaddy

相关问题