我是一名新程序员,我有2个视图控制器,在我的游戏结束后,会弹出一个“再次播放”按钮。
不是在第二个视图控制器上的计时器之后重新启动游戏,而是希望再次播放返回到具有播放按钮的第一个视图控制器。我该怎么办?我有下面提醒的代码:
// direct io test
#define _GNU_SOURCE
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
int direct_io_test() {
char *fp= "/tmp/direct_io.txt";
int flag = O_RDWR | O_CREAT | O_APPEND | O_DIRECT;
mode_t mode = 0644;
int fd = open(fp, flag, mode);
if (fd == -1) {
printf("Failed to open file. Error: \t%s\n", strerror(errno));
return errno;
} else {
printf("Succeed to open file, file descriptor: %d\n", fd);
}
// TODO ... seems didn't write to file,
write(fd, "hello\n", 6);
close(fd);
return 0;
}
int main(int argc, char *argv[]) {
direct_io_test();
return 0;
}
答案 0 :(得分:0)
通常可以使用segue来告诉故事板在调用指定的动作时连接到另一个视图控制器
对于segue,您需要先通过声明其标识符来设置故事板中的segue。然后在你的功能中你可以打电话
performSegueWithIdentifier("segueId", sender: nil)
我相信你也可以在presentViewController
之后做let mainViewController = yourMainControllerName();
presentViewController(mainViewController, animated: true, completion: nil)
现在,您应该在用户在alert.addAction中取消它之后将其中一个放在处理程序中
alert.addAction(action in self.setupGame() UIAlertAction(title: "Play Again", style: UIAlertActionStyle.Default, handler:{(ViewController: UIViewController!) in let mainViewController: secondViewController = segue.mainViewController as secondViewController}