1

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

我正在制作一个带有 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:'

我在这里做错了什么?

4

1 回答 1

0

我在这里做错了什么?

好吧,坦率地说,你做错的是没有使用自动完成功能。这是一个小错字,没什么好担心的。

userinfo应该是userInfo(注意大写I

所以完整的调用变成:

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

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

于 2013-06-13T10:58:53.633 回答