Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c UIAlertController:使消息在3秒后消失_Objective C_Xcode - Fatal编程技术网

Objective c UIAlertController:使消息在3秒后消失

Objective c UIAlertController:使消息在3秒后消失,objective-c,xcode,Objective C,Xcode,我想知道如何在3秒钟后使消息消失? 谢谢 有两个有用的工具可供您使用:第一个是,您可以使用performSelector方法之一轻松延迟执行,如下所示: // after present, wait 3 seconds and perform a selector [self presentViewController:alert_carbu_reglementaire animated:YES completion:nil]; [self performSelector:@selector(d

我想知道如何在3秒钟后使消息消失? 谢谢


有两个有用的工具可供您使用:第一个是,您可以使用
performSelector
方法之一轻松延迟执行,如下所示:

// after present, wait 3 seconds and perform a selector
[self presentViewController:alert_carbu_reglementaire animated:YES completion:nil];
[self performSelector:@selector(dismissTheAlert) withObject:nil afterDelay:3.0];
第二个事实是,视图控制器可能会通过
dismisViewController…

- (void) dismissTheAlert {
    [self dismissViewControllerAnimated:YES completion:^{}];
}

有两个有用的工具可供您使用:第一个是,您可以使用
performSelector
方法之一轻松延迟执行,如下所示:

// after present, wait 3 seconds and perform a selector
[self presentViewController:alert_carbu_reglementaire animated:YES completion:nil];
[self performSelector:@selector(dismissTheAlert) withObject:nil afterDelay:3.0];
第二个事实是,视图控制器可能会通过
dismisViewController…

- (void) dismissTheAlert {
    [self dismissViewControllerAnimated:YES completion:^{}];
}

尝试在3秒后使用GC电源调用setMessage。 看看这个例子:

Swift 2.3

let delay = 3.0
let delayInNanoSeconds = dispatch_time(DISPATCH_TIME_NOW, Int64(delay * Double(NSEC_PER_SEC)))

dispatch_after(delayInNanoSeconds, dispatch_get_main_queue()) {
    alert_carbu_reglementaire.message = ""
}
目标-C

double delay = 2.0;
dispatch_time_t delayInNanoSeconds = dispatch_time(DISPATCH_TIME_NOW, delay * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
    [alert_carbu_reglementaire setMessage:@""];
});

确保没有造成内存泄漏。

请尝试在3秒后使用GC电源调用setMessage。 看看这个例子:

Swift 2.3

let delay = 3.0
let delayInNanoSeconds = dispatch_time(DISPATCH_TIME_NOW, Int64(delay * Double(NSEC_PER_SEC)))

dispatch_after(delayInNanoSeconds, dispatch_get_main_queue()) {
    alert_carbu_reglementaire.message = ""
}
目标-C

double delay = 2.0;
dispatch_time_t delayInNanoSeconds = dispatch_time(DISPATCH_TIME_NOW, delay * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
    [alert_carbu_reglementaire setMessage:@""];
});

确保不会造成内存泄漏。

它不起作用。在模拟器中,当触摸按钮时,消息会立即出现和消失--我在发布前对其进行了测试。很好。这意味着您的应用程序中正在运行一些其他代码以更快地解除警报。它不起作用。在模拟器中,当触摸按钮时,消息会立即出现和消失--我在发布前对其进行了测试。很好。这意味着你的应用程序中正在运行一些其他代码以更快地解除警报。这是Obj C??还是Swift?这是一个Swift的例子,但你可以简单地客观地翻译它。双延时=2.0;调度时间t delayInNanoSeconds=调度时间(现在调度时间,延迟*纳秒秒秒);在(popTime,dispatch_get_main_queue(),^(void){[alert_carbu_regelementaire setMessage:@”“];}之后进行调度;注*延迟后,此核心清除消息。若你们可以隐藏控制器,你们可以调用dissmissViewController从屏幕上删除VC。这是Obj C??还是Swift?这是一个Swift的例子,但你可以简单地客观地翻译它。双延时=2.0;调度时间t delayInNanoSeconds=调度时间(现在调度时间,延迟*纳秒秒秒);在(popTime,dispatch_get_main_queue(),^(void){[alert_carbu_regelementaire setMessage:@”“];}之后进行调度;注*延迟后,此核心清除消息。如果您可以隐藏控制器-您可以调用dissmissViewController从屏幕上删除VC。在完成
presentViewController:animated:completion:
时,而不是将
nil
,您可以在3秒钟后将其关闭。在完成
presentViewController:animated:completion:
时,您可以在3秒钟后将其关闭,而不是将
nil