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 に答える