【问题标题】:How to reload an application from a 'play again?' button如何从“再次播放”中重新加载应用程序?按钮
【发布时间】:2016-04-13 19:16:19
【问题描述】:

使用Xcode 7.3,编写Swift程序;搜索了这个主题,但找不到答案。抱歉,提前。最后的程序语言是 COBOL。

应用背景: 它是一个单视图应用程序,用户键入数据,在某些时候用户“获胜”——此时,有两个按钮可用:“退出?”和“再玩一次?”

对于“退出?”我有按钮:

// MARK: C.This IBAction used to quit the game

@IBAction func quitIt(sender: AnyObject)

{
        exit(0)
}

希望以上是最有效的方法。

我需要帮助的是“再玩一次?”按钮:

// TODO: B. This IBAction used to play another game

@IBAction func Playagain(sender: AnyObject)
{

}

我要输入什么代码?

【问题讨论】:

  • 欢迎来到 SO,乔!我不太确定如何为您提供帮助,因为所有游戏都不同。我需要更多关于游戏如何开始以及用户如何获胜的背景信息。
  • 您的目标是哪个平台? iOS 还是 OS X?
  • @Lasse 感谢您的回复。我想运行它我
  • @Lasse(点击发送太早)我想在我的 iPad 上运行它。

标签: swift


【解决方案1】:

将游戏的启动代码移动到它自己的函数中。

both 从 [无论您从哪里移动它] 以及在 PlayAgain() 中调用该函数。

我希望这是针对 OS X 而不是 iOS - 如果您的 iOS 应用退出,Apple 可能会拒绝它。他们认为这是“崩溃”。 https://developer.apple.com/library/ios/qa/qa1561/_index.html

【讨论】:

  • @Steve Barron 感谢您的回复。不确定“启动代码”是什么意思。抱歉这么浓。我打算在我的 iPad 和 MacBook Pro 上运行它。
  • 当你第一次启动应用程序/游戏时,我假设有一些代码可以设置初始游戏...将初始分数设置为 0,重置生命数,创建一个新的谜题等,取决于它的游戏类型。该代码需要从 ViewController 的 viewDidLoad(如果你把它放在哪里)移到它自己的函数中,这样你就可以从 viewDidLoad 调用它,也可以从 Playagain IBAction 调用它。
  • 关于 iOS v OS X 的另一条评论(也由其他人提出)是 iOS 应用程序通常不会像我们在 OS X 或 Windows 上那样关闭自己。 iOS 应用程序应该永远存在,直到用户手动杀死它们。因此,在 iOS 版本中,您可能希望摆脱退出按钮 - 但在 OS X 版本中可能没问题。检查我的答案中的链接,了解 Apple 的该规则的来源/详细信息。
  • @ Steve Barron 我确实有一个初始化函数(“get5040”就在“did.ReceiveMemoryWarning”代码之后。在“viewDidLoad”区域中,“get5040”函数被调用:“get5050 ()"。
  • @ Steve Barron 我确实有一个初始化函数(“get5040”就在“did.ReceiveMemoryWarning”代码之后。在“viewDidLoad”区域中,“get5040”函数被调用:“get5050 ()”。初始化代码的这个位置是一个“不好的做法”吗?初始化代码是否都应该在“viewDidLoad”区域中?我目前将所有初始化变量都夹在“Import UIKit”和“Class ViewController”之间。应该所有这些变量都移到“get5040”函数中了吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-06
  • 1970-01-01
  • 1970-01-01
  • 2022-01-14
  • 1970-01-01
  • 2020-12-20
相关资源
最近更新 更多