没有用于带有计时器的选择器'scheduledTimerWithTimeInterval的已知类方法

时间:2013-06-13 10:43:07

标签: iphone ios objective-c cocoa-touch selector

我试图通过阅读其他线程来弄清楚这一点 - 但到目前为止我还没有能够解决任何问题。 如果它只是一个不了解我需要建立的联系的新手,或者如果我没有任何相关性 - 我不知道。

我正在制作一款带有2个计时器的iPhone应用程序。

我正在努力让定时器的源代码工作。

我使用xcode的翻转侧应用程序模板,因为我想稍后使用翻转面进行设置(可以自定义计时器

在我的MainViewController.h中:

#import "FlipsideViewController.h"
#import "UIKit/UIKit.h"

@interface MainViewController : UIViewController <FlipsideViewControllerDelegate, UIPopoverControllerDelegate> {

IBOutlet UILabel *timerP1;
IBOutlet UILabel *timerP2;

NSTimer *myTimerP1;
NSTimer *myTimerP2;
}

- (IBAction)startP1;
- (IBAction)stopP1;
- (IBAction)resetP1;

- (void)showActivityP1;

- (IBAction)startP2;
- (IBAction)stopP2;
- (IBAction)resetP2;

- (void)showActivityP2;

@property (strong, nonatomic) UIPopoverController *flipsidePopoverController;

@end

在我的MainViewController.m中:

@interface MainViewController ()

@end

@implementation MainViewController

- (IBAction)startP1{

myTimerP1 = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(showActivityP1) userinfo:nil repeats:YES];

}
- (IBAction)stopP1{

[myTimerP1 invalidate];
}
- (IBAction)resetP1{

timerP1.text = @"60";
}

- (void)showActivityP1;{

int currentTimeP1 = [timerP1.text intValue];
int newTimeP1 = currentTimeP1 - 1;
timerP1.text = [NSString stringWithFormat:@"%d", newTimeP1];
}
- (IBAction)startP2{

}
- (IBAction)stopP2{

}
- (IBAction)resetP2{

}

- (void)showActivityP2{

}

我收到错误“没有已知的选择器类方法'scheduledTimerWithTimeInterval:target:selector:userinfo:repeats:'

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

  

我在这里做错了什么?

嗯,坦率地说,你做错了是不使用自动完成功能。 这是一个小错字,无需担心。

userinfo应为userInfo(请注意首都I

所以完整的电话会变成:

[NSTimer scheduledTimerWithTimeInterval:1.0 
                                 target:self 
                               selector:@selector(showActivityP1) 
                               userInfo:nil 
                                repeats:YES];

哦,顺便说一句- (void)showActivityP1;{...}也会给你带来麻烦,只需放弃;