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)
在您的.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)