使不兼容的整数与指针错误

时间:2013-03-09 22:29:11

标签: objective-c

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

我不确定这是什么意思,因为它们有点相同,没有..?对不起,我完全是个新手,这是我的PlayCards套牌类的代码:

PlayingCards.h

#import "Card.h"

@interface PlayingCards : Card

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

+(NSArray *) validSuit;

+(NSUInteger *) maxRank;


@end

PlayingCards.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

谢谢!

1 个答案:

答案 0 :(得分:1)

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