NSTimer
Objective-C に問題があります。これは私のソース コードです: Main.m
#import <Foundation/Foundation.h>
#import "TimerTest.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
TimerTest *timerTest = [[[TimerTest alloc] init] autorelease];
}
return 0;
}
TimerTest.h
#import <Foundation/Foundation.h>
@interface TimerTest : NSObject {
NSTimer *_timer;
}
@property (nonatomic, retain) NSTimer *timer;
- (id) init;
@end
TimerTest.m
#import "TimerTest.h"
@implementation TimerTest
@synthesize timer = _timer;
- (id) init {
if (self = [super init]) {
[NSTimer timerWithTimeInterval:0.5f
target:self
selector:@selector(tick:)
userInfo:nil
repeats:YES];
}
return self;
}
- (void) tick: (NSDate *) dt {
NSLog(@"Tick! \n");
}
- (void) dealloc {
self.timer = nil;
[super dealloc];
}
@end
私のプログラムは、0.5 秒ごとに "Tick! \n" をログに記録する必要があります。しかし、その後、私のプログラムは終了し、xcode コンソールは明確になりました。これはNSLog
、
-(void)tick:(NSDate *)dt
メソッドが機能しなかったことを意味します。私の間違いはどこですか?