我已经搜索了这个并且实际上找到了很多结果,但我是这样的初学者,我在使用他们的具体案例的答案时遇到了问题。
我的代码:
+ (NSUInteger)maxRank { return [self rankStrings].count - 1; }
- (void)setRank:(NSUInteger )rank {
if(rank <= [PlayingCard maxRank]) {
_rank = rank;
}
}
“self rankStrings”只是一个包含许多字符串的数组。
if语句当然是给出错误的行。我只是无法理解错误是如何发生的,我实际上是从斯坦福大学的一个名叫保罗的人那里接受了一个教训,这是他的代码完全,唯一不同的是他的工作,而不是我的工作。
据我了解,maxRank返回NSUInteger(不是指针),在“rank”的setter中,“rank”也不是指针。我只是不明白。 rank属性如下所示:
@property (nonatomic) NSUInteger rank;
希望有人能拿出一个答案,因为这个让我自己头痛。
答案 0 :(得分:2)
属性maxRank在.h文件中声明为指针。删除属性声明中的*修复它。