“No known class method for selector'validSuits'” xCode 5.1中出现错误 [英] "No known class method for selector 'validSuits'" Error in xCode 5.1

查看:452
本文介绍了“No known class method for selector'validSuits'” xCode 5.1中出现错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想跟着一个斯坦福CS193p课程,但我得到一个客观的C错误,我不能解决。

I'm trying to follow along with a Stanford CS193p course, but I'm getting an objective C error that I cannot resolve.

我得到在包含[PlayingCard validSuits]的行上的 PlayingCardDeck.m 文件中出现错误。

I'm getting the error in the below PlayingCardDeck.m file on the line that contains "[PlayingCard validSuits]".

#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档案:

Here is the PlayingCardDeck.h file:

#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

$ c> PlayingCard.h 档案:

And the PlayingCard.h file:

#import "Card.h"

@interface PlayingCard : Card

@property (strong, nonatomic) NSString *suit;
@property (nonatomic) NSUInteger rank;

+ (NSArray *)validSuits;
+ (NSUInteger)maxRank;
@end

我刚接触目标C,不知道是什么原因问题。或者为什么相同的代码可以为一个人工作,而不是为我。任何帮助是赞赏。

I'm new to objective C and have no idea what is causing this problem. Or why identical code can work for one person and not for me. Any help is appreciated.

推荐答案

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

I cannot see any problems of the code.

您可以尝试清除构建并重新构建它。

You can try clean your build and re-build it.

这篇关于“No known class method for selector'validSuits'” xCode 5.1中出现错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆