iOS 7 Matchismo任务1斯坦福问题

Chr*_*ked 1 objective-c ios ios7

我为斯坦福大学iOS7编程的iTunesU课程编写了第一份作业的代码.问题是,当我编译时,我收到一条警告,上面写着addCard的方法定义:找不到.

这是我在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
Run Code Online (Sandbox Code Playgroud)

nhg*_*rif 5

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

Objective-C区分大小写.

.m文件中更改此行:

-(void)addcard:(Card *)card
Run Code Online (Sandbox Code Playgroud)

看起来像这样:

-(void)addCard:(Card *)card
Run Code Online (Sandbox Code Playgroud)