Swift:缺少参数错误
我在这里有一个问题,当我试图跟随斯坦福大学的第一堂课。我假设这是因为我使用的是swift 2。。。。这是最近发布的。(而课堂没有)下面我展示了我在哪里出错。在类中,计算器上的“回车”按钮有代码Swift:缺少参数错误,swift,swift2,Swift,Swift2,我在这里有一个问题,当我试图跟随斯坦福大学的第一堂课。我假设这是因为我使用的是swift 2。。。。这是最近发布的。(而课堂没有)下面我展示了我在哪里出错。在类中,计算器上的“回车”按钮有代码@IBAction func enter(){,但在我的类中,它是@IBAction func enter(发送者:UIButton){ 这是我在代码中使用按钮时出错的吗?有什么方法可以修复吗?如果我能澄清任何问题,请告诉我 import UIKit class ViewController: UIVie
@IBAction func enter(){
,但在我的类中,它是@IBAction func enter(发送者:UIButton){
这是我在代码中使用按钮时出错的吗?有什么方法可以修复吗?如果我能澄清任何问题,请告诉我
import UIKit
class ViewController: UIViewController
{
@IBOutlet var display: UILabel!
var userIsInTheMiddleOfTypingANumber: Bool = false
@IBAction func appendDigit(sender: UIButton) {
let digit = sender.currentTitle!
if userIsInTheMiddleOfTypingANumber {
display.text = display.text! + digit
} else {
display.text = digit
userIsInTheMiddleOfTypingANumber = true
}
}
@IBAction func operate(sender: UIButton) {
let operation = sender.currentTitle!
if userIsInTheMiddleOfTypingANumber {
enter() // Here is my error: *Missing Argument for parameter on the line of code that says enter()
}
switch operation {
case "x":
if operandStack.count >= 2 {
displayValue = operandStack.removeLast() * operandStack.removeLast()
enter() // Here is my error: Again...
}
default: break
}
}
var operandStack = Array<Double>()
@IBAction func enter(sender: UIButton) {
userIsInTheMiddleOfTypingANumber = false
operandStack.append(displayValue)
print("operandStack = \(operandStack)")
}
var displayValue: Double {
get {
return NSNumberFormatter().numberFromString(display.text!)!.doubleValue
}
set {
display.text = "\(newValue)"
userIsInTheMiddleOfTypingANumber = false
}
}
}
导入UIKit
类ViewController:UIViewController
{
@IBVAR显示:UILabel!
var USERISINTHEMIDLEOFTYPINGANAME:Bool=false
@iAction func appendDigit(发送方:UIButton){
让digit=sender.currentTitle!
如果用户为InthemiddleoftypingNumber{
display.text=display.text!+数字
}否则{
display.text=数字
USERISINTHEMIDLEOFTYPINGANAMER=真
}
}
@iAction func operate(发送方:UIButton){
让操作=sender.currentTitle!
如果用户为InthemiddleoftypingNumber{
enter()//这是我的错误:*在显示enter()的代码行中缺少参数参数
}
开关操作{
案例“x”:
如果操作数Stack.count>=2{
displayValue=操作数堆栈.removeLast()*操作数堆栈.removeLast()
enter()//这是我的错误:再次。。。
}
默认值:中断
}
}
变量堆栈=数组()
@iAction功能输入(发件人:UIButton){
userIsInTheMiddleOfTypingANumber=false
操作数堆栈.append(显示值)
打印(“操作数堆栈=\(操作数堆栈)”)
}
var显示值:双精度{
得到{
返回NSNumberFormatter().numberFromString(display.text!)!.doubleValue
}
设置{
display.text=“\(newValue)”
userIsInTheMiddleOfTypingANumber=false
}
}
}
enter
需要输入参数,但您没有提供任何参数。请将其替换为enter(sender)
谢谢佐夫,这么简单的解决方法!你是最好的。:D我会接受答案(说等5分钟)别担心你会得到答案:)网站让我等了5分钟。这是你应得的。
@IBAction func operate(sender: UIButton) {
let operation = sender.currentTitle!
if userIsInTheMiddleOfTypingANumber {
enter(sender)
}
switch operation {
case "x":
if operandStack.count >= 2 {
displayValue = operandStack.removeLast() * operandStack.removeLast()
enter(sender)
}
default: break
}
}