“在xCode 5.1中没有select器”validSuits“错误的已知类方法

我试图跟随斯坦福大学CS193p课程,但我得到一个客观的C错误,我无法解决。

我在包含“[PlayingCard validSuits]”的行上获取了下面的PlayingCardDeck.m文件中的错误。

 #import "PlayingCard.h" #import "PlayingCardDeck.h" @implementation PlayingCardDeck - (instancetype)init { self = [super init]; if (self){ for (NSString *suit2 in [PlayingCard validSuits]) { //Error on this line } } return self; } @end 

这里是PlayingCardDeck.h文件:

 #import "Deck.h" @interface PlayingCardDeck : Deck @end 

这是PlayingCard.m文件:

 #import "PlayingCard.h" @implementation PlayingCard - (NSString *)contents { NSArray *rankStrings = [PlayingCard rankStrings]; return [rankStrings[self.rank] stringByAppendingString:self.suit]; } + (NSArray *)validSuits { return @[@"♣︎", @"♠︎", @"♥︎", @"♦︎"]; } @synthesize suit = _suit; - (void)setSuit:(NSString *)suit { if ([[PlayingCard validSuits] containsObject:suit]) { _suit = suit; } } - (NSString *)suit { return _suit ? _suit : @"?"; } + (NSArray *)rankStrings { return @[@"?", @"A", @"2", @"3", @"4", @"5", @"6", @"7", @"8", @"9", @"10", @"J", @"Q", @"K"]; } + (NSUInteger)maxRank { return [[self rankStrings] count] - 1; } - (void)setRank:(NSUInteger)rank { if (rank <= [PlayingCard maxRank]) { _rank = rank; } } @end 

PlayingCard.h文件:

 #import "Card.h" @interface PlayingCard : Card @property (strong, nonatomic) NSString *suit; @property (nonatomic) NSUInteger rank; + (NSArray *)validSuits; + (NSUInteger)maxRank; @end 

我是新来的目标C,不知道是什么原因造成这个问题。 或者为什么相同的代码可以为一个人而不是为我工作。 任何帮助表示赞赏。

我看不到任何代码的问题。

你可以尝试清理你的构build并重新构build它。