私は Objective-C に非常に慣れていないため、これが多くの人にとって非常に明白である場合は申し訳ありませんが、次のコードが実際にどのように機能するかを理解しようとしています。
- (IBAction)chooseColour:(UIButton *)sender {
sender.selected = !sender.isSelected;
}
アクションを送信するボタンの選択状態と非選択状態を明らかに切り替えますが、コード「sender.selected = !sender.isSelected」は実際に何を言っているのでしょうか? 「送信者が選択したプロパティをゲッターの反対(つまり、そうではない)に設定する」だけですか?そのため、ゲッターが現在選択されている値を true として「取得」している場合、選択されたプロパティを !true、つまり false に設定します。それとも、これは私がまだよく知らない便利なコードですか? 「!sender.isSelected」は単に選択されていないことを意味するようにも見えるため
if (!sender.isSelected){
statement
}
つまり、送信者が選択されていない場合はステートメントを実行します。これは間違いなく明らかですが、現時点では少し混乱しています。
ありがとう!