如何在Swift中修复“外部参数标签'input:'在调用中”和sigabrt THREAD1问题

时间:2019-04-09 21:54:38

标签: ios swift

我正在Swift中构建日历应用程序。它有一个可怕的THREAD1问题和一个奇怪的错误。

代码如下:

import UIKit

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()

        var wydarzenia = ["Wydarzenie1", "Wydarzenie2" ]

    weak var input: UITextField!

    weak var output: UILabel!
        print(wydarzenia)

        func show(_ sender: UIButton) {
        print(wydarzenia)
        }

        func add(_ sender: UIButton) {
        wydarzenia.append (input: String).  !Extraneous argument label 'input:' in call!
        }
    }
}
}
}

2 个答案:

答案 0 :(得分:0)

看起来您的代码不完整。

似乎您想在单击其中一个按钮时将元素添加到function filterUnderscoreKeys(arr) { return arr.map(obj => { const res = {}; Object.keys(obj) .filter(k => k[0] !== '_') .forEach(k => res[k] = obj[k]); return res; }); } 数组中,在这种情况下,您需要编写

wydarzenia

答案 1 :(得分:0)

您的代码似乎不完整:

wydarzenia.append (input: String).

您将wydarzenia定义为Array,并且数组的append方法没有名为input的参数。这就是错误的含义,您为append提供了“额外”参数。

  

附加(_:)
    在数组的末尾添加一个新元素。

     

func append(_ newElement: Element)

您可以简单地做到:

wydarzenia.append(thingThatYouWantToAppend)

在您的示例中,哪个可能是the String value of the UITextField?:

wydarzenia.append(input.text)

有关如何使用数组的更多信息,请查看Array文档中的示例,例如将元素添加到数组中的示例:

var students = ["Ben", "Ivy", "Jordell"]
students.append("Maxime")

通常,要调试应用程序,可以插入断点,然后逐行逐步执行代码,直到找出引起问题的行。

请参阅Apple开发人员文档中的Debugging Tools部分。