【问题标题】:Argument passed to call that takes no arguments problem传递给不带参数的调用的参数问题
【发布时间】:2019-10-18 13:35:42
【问题描述】:

我坚持这一件事

什么都试过了

import UIKit
import AVFoundation
import SwiftUI

func  buttonpressed(_ sender: Any) {

    lightOn.toggle() {
        if lighton {
            view.backgroundcolor = .white
        } else {
            view.backgroundcolor = .black
        }
    }
    var view = true
}

var lightOn = true;
var toggle = true

【问题讨论】:

  • 你有什么问题?到目前为止,您只告诉我们您有问题并向我们展示了有问题的代码。
  • @matt 我正在尝试帮助新的贡献者学习如何以清晰的方式为未来提出问题。
  • @matt 你和我都知道问题是他正在将闭包传递给toggle() 并且它不需要任何参数,包括闭包,但这可能不是每个人都清楚,未来的问题可能不那么清楚。最好在提问时指定 Xcode 产生的错误。

标签: xcode swift5.1


【解决方案1】:

线

lightOn.toggle() {

没有意义。行尾的花括号是毫无意义的垃圾。编译器被它弄糊涂了,它吐出了一个无用的错误信息。

只需说lightOn.toggle()停止。这就是命令的结束。如果您还有更多事情要做,请转到另一条线路。

lightOn.toggle() 
if lightOn {
    view.backgroundColor = .white
} else {
    view.backgroundColor = .black
}

【讨论】:

  • 另外请注意 Swift 是区分大小写的。您不能同时说 lightOnlighton 来指代同一事物。而backgroundcolor 不是backgroundColor。在编程和在 Stack Overflow 中提供代码时都要准确。始终在 Stack Overflow 中复制和粘贴真实代码
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-20
  • 1970-01-01
  • 1970-01-01
  • 2021-01-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多