我正在嘗試爲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];
}
'CardCardAtIndex'在CardMatchingGame.h中定義了嗎? –
順便說一句,當你說'和實現'時,我假設你正在從你的CardMatchingGame類拉代碼? –
@JamesBoutcher聲明的存在如何影響任何東西? – 2013-02-06 21:18:21