gpt4 book ai didi

swift - 如何使用 Xcode View Controller 上的开关?

转载 作者:行者123 更新时间:2023-11-30 12:52:44 28 4
gpt4 key购买 nike

我读过一本关于 Swift 逻辑的书,但我不知道如何将它与界面一起使用来在 xCode 8 中制作应用程序。我正在制作一个非常基本的应用程序,其中您有货币(硬币)以及何时你点击一个按钮(goldPan),它会检查goldPan正在进行什么升级,根据该升级,用户可以获得很多硬币,基本上就像游戏cookie点击器一样。我决定构建一个“开关”来检查 goldPan 正在进行哪些升级,而不是编写大量“if”语句。此外,goldPan 有其自己的类。我更多的是问“Switch 是检查升级的方式吗?如果是的话,我该如何用我的代码实现它。就像我说的,我不确定这是否是最有效的方式,但是当我使用它时,我收到错误

Use of instance member 'checkUpgradeNumber' on type 'ViewController.goldPan'; did you mean to use a value of type 'ViewController.goldPan' instead?

Instance member 'production' cannot be used on type 'ViewController.goldPan'

请帮助我,我不确定切换是最好的方式还是其他方式。很抱歉问了这个非常菜鸟的问题。我的代码如下:

import UIKit

class ViewController: UIViewController {

@IBOutlet var topLabel: UILabel!

var coins = 0;

class goldPan {

var upgradeNumber = 0

var production = 1

func checkUpgradeNumber() {


switch upgradeNumber {
case 0:
production = 1;
case 1:
production = 2;
case 2:
production = 3;
default:
production = 1;
}

}


}

@IBAction func goldPanButton(_ sender: Any) {
goldPan.checkUpgradeNumber();
coins = coins + goldPan.production
}


override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}


}

最佳答案

首先请考虑类名以大写字母开头的命名约定 (GoldPan)。

您正在调用一个方法并访问类上的一个属性,这是该代码不可能实现的。

将方法和属性设为静态

...
static var upgradeNumber = 0
static var production = 1

class func checkUpgradeNumber() { ...

或创建该类的实例

let goldPan = Goldpan()
goldPan.checkUpgradeNumber()
coins = coins + goldPan.production

但基本上我认为您不需要为此使用单独的类。删除内部 class block 并使用 ViewController 类中的方法和属性。

关于swift - 如何使用 Xcode View Controller 上的开关?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40756747/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com