我已经搜索过这个并且实际上找到了很多结果,但是我是一个初学者,所以在我的具体案例中使用他们的答案时遇到了问题。
我的代码:
+ (NSUInteger)maxRank { return [self rankStrings].count - 1; }
- (void)setRank:(NSUInteger )rank {
if(rank <= [PlayingCard maxRank]) {
_rank = rank;
}
}
“self rankStrings”只是一个包含多个字符串的数组。
if 语句当然是给出错误的那一行。我只是无法理解错误是如何发生的,我实际上是从斯坦福的一个叫 Paul 的人那里学习的,这正是他的代码,唯一的区别是他的工作和我的工作差别不大。
据我了解,maxRank 返回一个 NSUInteger(不是指针),并且在“rank”的设置器中,“rank”也不是指针。我只是不明白。rank 属性如下所示:
@property (nonatomic) NSUInteger rank;
希望有人能提出答案,因此让我自己头疼。