1

我已经搜索过这个并且实际上找到了很多结果,但是我是一个初学者,所以在我的具体案例中使用他们的答案时遇到了问题。

我的代码:

  + (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;

希望有人能提出答案,因此让我自己头疼。

4

1 回答 1

2

属性 maxRank 被声明为 .h 文件中的指针。删除属性声明中的 * 修复了它。

于 2013-02-27T10:53:36.777 回答