@property (retain) NSDate *lockout; - (void) report: (NSString *) aString { // Only allow this method to run every five seconds if (!self.lockout) self.lockout = [NSDate dateWithTimeIntervalSinceNow:5.0f]; else if ([[NSDate date] timeIntervalSinceDate:self.lockout] < 0.0f) return; self.lockout = [NSDate dateWithTimeIntervalSinceNow:5.0f]; // 每隔5秒执行下面代码 [vs performSelector:@selector(startSpeakingString:) withObject:aString]; }
loading画面至少3秒
(void)showFeedbackViewWithType:(FeedbackViewType)type delegate:(id)delegate userInfo:(id)userInfo { self.aftertime = [NSDate dateWithTimeIntervalSinceNow:3]; } - (void)hideFeedbackView { NSDate *nowtime=[NSDate date]; if ([[nowtime earlierDate:self.aftertime] isEqualToDate:nowtime]) { // [self performSelector:@selector(hideFeedbackViewLater) withObject:nil afterDelay:1.0]; [self hideFeedbackView]; } else { [self hideFeedbackViewLater]; } }