私はこれを検索して実際にたくさんの結果を見つけましたが、私はこれに非常に初心者なので、私の特定のケースで彼らの答えを使用するのに問題があります。
私のコード:
+ (NSUInteger)maxRank { return [self rankStrings].count - 1; }
- (void)setRank:(NSUInteger )rank {
if(rank <= [PlayingCard maxRank]) {
_rank = rank;
}
}
「selfrankStrings」は、いくつかの文字列を含む単なる配列です。
もちろん、ifステートメントはエラーを出す行です。エラーがどのように発生するかを理解できません。実際、スタンフォード大学のPaulという男性からのレッスンに従っています。これは彼のコードですが、唯一の違いは彼の仕事と私のものではありません。
私が理解しているように、maxRankは(ポインターではなく)NSUIntegerを返し、「rank」のセッターでは、「rank」もポインターではありません。私はそれを取得しません。ランクプロパティは次のようになります。
@property (nonatomic) NSUInteger rank;
うまくいけば、誰かが答えを思い付くことができ、これのために私の自己が頭痛の種になりました。