私はCard
というクラスと、PlayingCard
と呼ばれるCard
のサブクラスを持っています。 ViewControllerでは、私は引数としてCard
を取るメソッドを持っています。オブジェクト-cのオブジェクトキャスト
ような何か:私はPlayingCard
にcard
を投げかけている
- (void)doSomething: (Card *) card
{
card = (PlayingCard *)card;
NSString *aProperty = card.aPropertyOfPlayingCard; // complained
// ...
}
。なぜXcodeのは、と文句を言うだろう:
「プロパティ「aPropertyOfPlayingCardオブジェクト型には見られない 『カード*』」
"この場合、aプロパティがnilである可能性があります"が間違っています。この場合、「インスタンスに送信されたセレクタを認識できません...」という例外が発生します。 – Willeke
@Willekeあなたは正しいです。私は無限オブジェクトのメソッドを呼び出すと間違っています(これは有効です)。 "aProperty"は既存のオブジェクトである可能性が高いため、これは異なります。 – Greg