-1
即時得到錯誤incompatible integer to pointer conversion returning unsigned int from a function with result type NSUInteger *
獲取不兼容的整數指針錯誤
我不知道那是什麼意思,因爲它們是一種相同的,沒有..?遺憾的IM完全是一個新手,這是我爲我的PlayingCards甲板類代碼:
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
的感謝!
擺脫''任何地方,你正在使用'NSUInteger'的。 'NSUInteger'是一個基本類型,不是一個類。 – rmaddy 2013-03-09 22:30:38
謝謝老兄! @rmaddy – JohnBigs 2013-03-09 22:33:45
或者至少一個的malloc指針爲整數。 – CodaFi 2013-03-09 22:40:27