我有這樣的方法:入住時間差調用的Objective-C
- (void) receivedData {
}
這應該運行約每50至100毫秒。有沒有辦法檢查自上次調用以來的時間,並將最後一次打印到NSString?
我有這樣的方法:入住時間差調用的Objective-C
- (void) receivedData {
}
這應該運行約每50至100毫秒。有沒有辦法檢查自上次調用以來的時間,並將最後一次打印到NSString?
@interface MyClass() {
NSDate* receivedDataTimestamp;
....
}
...
-(void)receivedData {
NSDate* now = [NSDate date];
if (receivedDataTimestamp != nil) {
NSTimeInterval delta = [now timeIntervalSinceDate:receivedDataTimestamp];
NSLog(@"%f seconds since recevedData was called last", delta);
}
receivedDataTimestamp = now;
....
}
你應該使用'%lf'作爲double(這是NSTimeInterval的意思),雖然它在使用'printf'時可能沒有什麼不同,但如果使用'scanf',它肯定會改變事情。 –
@pauls - 感謝您修復我的漏洞 - 我通常在需要時忘記了「*」,但當我不需要它時,他們有一種爬行的方式。 –
真棒!謝謝:)完美的作品。 – objectiveccoder001
有一個適當的持久變量,分配給該方法的NSDate或NSTimeInterval。在進入該方法時,可以通過'[NSDate date]'獲得當前時間,然後根據您希望的保存值進行比較,然後將當前時間存儲到持久變量中。 –