不完整的实施错误

时间:2013-05-15 03:53:08

标签: objective-c

在@implementation行的最后一行继续收到错误,说明实施不完整。不确定是什么问题。什么会导致这个?我也发了标题。

从.m文件中添加了其余代码。

    #import "mmViewController.h"

@interface mmViewController ()
-(void)timerFired:(NSTimer*)theTimer;

@end

@implementation mmViewController
@synthesize remainingTime, playerScore, scrambledWord;


- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

-(void)viewDidLoad
{
    [super viewDidLoad];
    //Do any additional setup after loading the view, typically from a nib.
    //Initialize the game model
    gameModel = [[mmScramblerModel alloc] init];

    //Display the time, score and scrambled word
    remainingTime.text = [NSString stringWithFormat:@"%i", gameModel.time];
    playerScore.text = [NSString stringWithFormat:@"%i", gameModel.score];
    scrambledWord.text = [gameModel getScrambledWord];

    //Start the game timer
    gameTimer = [NSTimer scheduledTimerWithTimeInterval:1.0
                                                 target:self
                                               selector:@selector(timerFired:)
                                               userInfo:nil
                                                repeats:YES];
}

-(void) endGameWithMessage:(NSString *)message {
    //Call this method to end the game

    //Invalidate the timer
    [gameTimer invalidate];

    //Show an alert with the results
    UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Game Over!"
                                                    message:message
                                                   delegate:self
                                          cancelButtonTitle:@"OK"
                                          otherButtonTitles:nil];
    [alert show];
}

-(void) timerFired:(NSTimer *)theTimer {
    //The timer fires this method rougly every second
    [gameModel timerTick];

    if(gameModel.time <= 0){
        remainingTime.text = 0;
        [self endGameWithMessage:@"You are out of time. You lose!"];
    }
    else
        remainingTime.text = [NSString stringWithFormat:@"%i", gameModel.time];
}

@end








#import <UIKit/UIKit.h>
#import "mmScramblerModel.h"

@interface mmViewController : UIViewController {
    mmScramblerModel* gameModel;
    NSTimer* gameTimer;
}
-(IBAction)guessTap:(id)sender;
-(void) endGameWithMessage:(NSString*) message;

@property (weak, nonatomic) IBOutlet UITextField * guessText;
@property (weak, nonatomic) IBOutlet UILabel * scrambledWord;
@property (weak, nonatomic) IBOutlet UILabel * remainingTime;
@property (weak, nonatomic) IBOutlet UILabel * playerScore;

@end

3 个答案:

答案 0 :(得分:1)

查看.h文件中列出的方法。现在看看你实际实现的方法。只有两个,很容易注意到你没有实现其中一个。

实施guessTap:方法。

答案 1 :(得分:0)

从您的代码中我可以看到<{p}}的interface declaration

-(IBAction)guessTap:(id)sender;

但您尚未在.m文件

中实现此方法

答案 2 :(得分:0)

从界面

中删除guessTap:方法