'시작'한 후 2 초 내에 코드 블록을 실행하려고합니다.iphone NStimer 2 초 만에 시작
나는 NSTimer가 이것을 할 수 있다고 생각하지만 그것을 이해할 수 없다고 생각한다.
'시작'한 후 2 초 내에 코드 블록을 실행하려고합니다.iphone NStimer 2 초 만에 시작
나는 NSTimer가 이것을 할 수 있다고 생각하지만 그것을 이해할 수 없다고 생각한다.
다음은 당신이 필요로 할 것입니다 :
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval: 2
target:self
selector:@selector(handleTimer:)
userInfo:nil
repeats:NO];
그런 다음 위임 기능 :
-(void)handleTimer: (NSTimer *) timer
{
//code
}
NSTimeInterval
을 2.0 초로 설정할 수 있으며 해당 시간이 지나면 시작됩니다. 너 뭐야? 타이머를 호출하는 데 사용하는 코드는 무엇입니까?
메시지 전송).
doStuff를 보낼 것이 예 : 메시지를 지연 후 :
-(void)doStuff:(id)sender
{
/// do something
}
당신은 또한 몇 가지 편리한 코드를 사용할 수 있습니다 :이 방법은 2.0 초 후에 호출 얻을됩니다
[self performSelector:@selector(doStuff:) withObject:self afterDelay:2];
NSObject + PerformBlock.h
@interface NSObject (PerformBlock)
- (void)performBlock:(void(^)(void))block waitUntilDone:(BOOL)wait;
- (void)performBlock:(void(^)(void))block afterDelay:(NSTimeInterval)delay;
- (void)performBlock:(void(^)(void))block repeatCount:(NSUInteger)repeatCount timeInteval:(NSTimeInterval)timeInterval;
@end
NSObject의 + PerformBlock.m
@interface NSObject (PerformBlockHidden)
- (void)performBlock:(void(^)(void))block;
@end
@implementation NSObject (PerformBlock)
- (void)performBlock:(void(^)(void))block {
block();
}
- (void)performBlock:(void(^)(void))block waitUntilDone:(BOOL)wait {
[self performSelector:@selector(performBlock:) onThread:nil withObject:[[block copy] autorelease] waitUntilDone:wait];
}
- (void)performBlock:(void(^)(void))block afterDelay:(NSTimeInterval)delay {
[self performSelector:@selector(performBlock:) withObject:[[block copy] autorelease] afterDelay:delay];
}
- (void)performBlock:(void(^)(void))block repeatCount:(NSUInteger)repeatCount timeInteval:(NSTimeInterval)timeInterval {
for (NSInteger repetition = 0; repetition < repeatCount; repetition++)
[self performBlock:block afterDelay:(repetition*timeInterval)];
}
@end
은 그럼 그냥 NSObject의 + PerformBlock.h를 가져오고 전화 :이 사용하지 않은
[myObject performBlock:^{
// Code you want to perform after 2secs
} afterDelay:2];
을,하지만 난 정말이 같은 블록을 사용하는 개념과 같은 . –