Теперь он работает, проблема была в Xcode.Это было решено перезапуском Xcode и попыткой чистой сборки, спасибо за попытку!Использование ключевого слова self для дочернего класса для вызова одного метода суперкласса в Objective-C
Родитель Класс
CardGame.h
#import <Foundation/Foundation.h>
#import "Deck.h"
@interface CardGame : NSObject
- (id) initWithCardCount:(NSUInteger)cardCount usingDeck:(Deck *) deck;
- (Card *) cardAtIndex: (NSUInteger) index;
@end
Детский класс
CardMatchingGame.h
#import "CardGame.h"
@interface CardMatchingGame : CardGame
- (void) flipCardAtIndex: (NSUInteger) index;
@end
CardMatchingGame.m
- (void) flipCardAtIndex: (NSUInteger) index {
Card *card = [self cardAtIndex:index]; // The error I get is on this line
self.currentAction = [NSString stringWithFormat:@"You flipped up %@",
card.contents];
Я получаю ошибку
Нет видимых @interface для 'CardMatchingGame' заявляет о cardAtIndex селектора: (NSUInteger) индекс;
Я просматривал похожие вопросы, но ответ должен быть связан с тем, что дочерний класс не нашел правильный родительский файл, это не так для меня. Я новичок в наследовании, я делаю это неправильно?
Как вы называете метод initWithCardCount: usingDeck: '? Класс импортирует 'CardMatchingGame.h'? «CardMatchingGame.h» импортирует «CardGame.h»? – rmaddy
Извините за путаницу, я неправильно разместил ошибку, см. Редактирование. –
Но 'CardMatchingGame.m' импортирует' CardMatchingGame.h' или 'CardGame.h'? – rmaddy