2013-02-06 50 views
1

我正在嘗試爲iOS學習Objective-C。我目前正在跟隨iTunesU上的「一起編碼」。雖然我陷入困境,因爲我無法讓我的控制器調用另一個類的方法。找不到我做錯了什麼,並認爲StackOverflow可能有解決方案!不會調用其他類中的方法Objective-C

「flipCardAtIndex」方法不工作。我已經使用nslog進行調試,並從「flipCard」方法中獲得輸出。但是,當我把flipCardAtIndex的實現我沒有得到任何東西..所以我的猜測是,它從來沒有調用它... 我已經使代碼有點短,所以它只是我認爲重要的部分,這是控制器:

#import "ViewController.h" 
#import "PlayingCardDeck.h" 
#import "CardMatchingGame.h" 

@interface ViewController() 

@property (weak, nonatomic) IBOutlet UILabel *flipsLabel; 
@property (nonatomic) int flipCount; 
@property (weak, nonatomic) IBOutlet UILabel *scoreLabel; 
@property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *cardButtons; 
@property (strong, nonatomic) CardMatchingGame *game; 

@end 

@implementation ViewController 

- (CardMatchingGame *) game{ 
    if (_game) _game = [[CardMatchingGame alloc] initWithCardCount:[self.cardButtons  count] 
                usingDeck:[[PlayingCardDeck alloc] init]]; 
    return _game; 
} 

- (IBAction)flipCard:(UIButton *)sender { 

[self.game flipCardAtIndex:[self.cardButtons indexOfObject:sender]]; 
self.flipCount++; 
[self updateUI]; 

} 

與實現

- (void)flipCardAtIndex:(NSUInteger)index 
{ 
    NSLog(@"ALL YOUR BASE ARE BELONG TO US"); 
    Card *card = [self cardAtIndex:index]; 
} 
+0

'CardCardAtIndex'在CardMatchingGame.h中定義了嗎? –

+0

順便說一句,當你說'和實現'時,我假設你正在從你的CardMatchingGame類拉代碼? –

+0

@JamesBoutcher聲明的存在如何影響任何東西? – 2013-02-06 21:18:21

回答

4

修復?

- (CardMatchingGame *) game{ 
    if (!_game) _game = [[CardMatchingGame alloc] initWithCardCount:[self.cardButtons  count] usingDeck:[[PlayingCardDeck alloc] init]]; 
    return _game; 
} 
+0

嗯,我認爲這是問題,但我現在我在其他地方崩潰.. – ZedIsDead

+0

嗯,這個問題得到了答覆;-) –

+0

感謝您的幫助! :) – ZedIsDead

相關問題