实现中有“冲突的参数类型.”,如下图所示。这段代码运行良好,但警告不会消失。有人能解释一下这是怎么回事吗

在.h文件中
@property (nonatomic) NSInteger score;
@property (nonatomic) NSInteger topScore;在.m文件中
-(void)setScore:(NSInteger *)score
{
_score = score;
scoreLabel.text = [[NSNumber numberWithInteger:(long)self.score] stringValue];
}
-(void)setTopScore:(NSInteger *)topScore
{
_topScore = topScore;
topScoreLabel.text = [[NSNumber numberWithInteger:(long)self.topScore] stringValue];
}发布于 2014-12-26 20:08:30
这是因为NSInteger是一个原始类型,而不是一个对象。它应该通过值传递,而不是通过指针传递,即没有星号:
-(void)setScore:(NSInteger)score {
_score = score;
scoreLabel.text = [[NSNumber numberWithInteger:(long)self.score] stringValue];
}setTopScore:方法也是如此。
https://stackoverflow.com/questions/27661422
复制相似问题