我读过一本关于Swift逻辑的书,但我不知道如何在xCode 8中使用界面制作应用程序。我在制作一个非常基本的应用程序,你有货币(当你点击一个按钮(goldPan)时,它检查看看goldPan的升级是什么,并且根据升级,用户获得了这么多钱币,基本上就像游戏cookie点击器一样。而不是写大量的"如果"声明我决定建立一个"开关"检查goldPan的升级程度。此外,goldPan有自己的类。我更多的是问问"是切换方式来检查升级?如果是这样,我如何用我的代码实现它。就像我说的,我不确定它是否是最有效的方式,但当我使用它时,我得到的错误
使用实例成员' checkUpgradeNumber'在类型' ViewController.goldPan&#39 ;;你的意思是使用' ViewController.goldPan'代替?
和
实例会员'制作'不能在类型' 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.
}
}
答案 0 :(得分:0)
将class goldPan
更改为func goldPan
我不认为你可以在课堂上上课。这可能无法解决整个问题,但它可能会解决部分问题。我对此并不完全确定,但我只是注意到你正在使用一个类而不是一个函数。
答案 1 :(得分:0)
首先请考虑类名以大写字母(GoldPan
)开头的命名约定。
您正在调用方法并访问该类上的属性,该属性是该代码无法实现的。
使方法和属性静态
...
static var upgradeNumber = 0
static var production = 1
class func checkUpgradeNumber() { ...
或创建类
的实例let goldPan = Goldpan()
goldPan.checkUpgradeNumber()
coins = coins + goldPan.production
但基本上我认为你不需要为此使用单独的类。删除内部class
块并使用ViewController
类中的方法和属性。
答案 2 :(得分:0)
您可以替换:
production = upgradeNumber + 1
使用:
$(function() {
$('#poem-input').keypress(function(e) {
var keycode = event.keyCode || event.which;
if (keycode == '13') {
$(this).replaceWith('<span>' + this.value + '</span>')
$('#second').show()
}
});
});