-1

我收到错误incompatible integer to pointer conversion returning unsigned int from a function with result type NSUInteger *

我不确定那是什么意思,因为它们是一样的,不是..?对不起,我完全是一个新手,这是我的扑克牌甲板类的代码:

扑克牌.h

#import "Card.h"

@interface PlayingCards : Card

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

+(NSArray *) validSuit;

+(NSUInteger *) maxRank;


@end

扑克牌.m

#import "PlayingCards.h"

@implementation PlayingCards

@synthesize suit = _suit;

//modifying the contents getter so it will return array with the ranks and rank+suit 
-(NSString *) contents {

    NSArray *cardsRank = [PlayingCards rankStrings];

    return [cardsRank[self.rank] stringByAppendingString:self.suit];
}

//creating a method to make sure we get validated suits
+(NSArray *) validSuit {

    return @[@"♠",@"♣",@"♥",@"♦"];
}

//creating calss method to validate the rank
+(NSArray *) rankStrings {

    return @[@"?",@"A",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10",@"J",@"Q",@"K"];
}

//creating a new setter for suit to make sure we get the valitated suits, uding the validateSuit method
-(void) setSuit:(NSString *)suit {

    if ([[PlayingCards validSuit] containsObject:suit]) {
        _suit = suit;
    }
}

//creating new getter for suit to make sure its not empty
-(NSString *) suit {

    return _suit? _suit: @"?";
}

//creating a class method to make sure when user set the rank he will will
+(NSUInteger *) maxRank {

    return [self rankStrings].count - 1;

}

//creating a new setter to the renk to make sure the rank is validates 
-(void) setRank:(NSUInteger)rank {

    if (rank <= [PlayingCards maxRank]) {

        _rank = rank;
    }
}

@end

请帮我解决这个问题,它在行中(在 .m 文件中):

+(NSUInteger *) maxRank {

    return [self rankStrings].count - 1;

}

并影响在线:

-(void) setRank:(NSUInteger)rank {

    if (rank <= [PlayingCards maxRank]) {

        _rank = rank;
    }
}

有另一个错误

order comparison between pointer and integer

谢谢!

4

1 回答 1

1

这通常意味着您试图在不应该使用的地方意外使用指针。或者没有在你应该有的地方使用指针。你的类方法返回一个指向你的 NSUInteger 的指针。去除 *

于 2013-03-10T01:53:19.020 回答