Как исправить «Постороннюю метку аргумента ‘input:’ в вызове» и проблему sigabrt THREAD1 в Swift

#ios #swift

#iOS #swift

Вопрос:

Я создаю приложение календаря в Swift. У него проблема с sigabrt 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!
        }
    }
}
}
}
  

Комментарии:

1. Пожалуйста, исправьте отступ вашего кода, чтобы его было легче читать.

2. @GinoMempin Здесь гораздо больше ошибок, чем отступ. Существуют неуместные и дополнительные фигурные скобки.

Ответ №1:

Похоже, ваш код не завершен.

Похоже, что вы хотите добавить элемент в wydarzenia массив при нажатии одной из кнопок, в этом случае вам нужно будет написать

 wydarzenia.append("Something")
  

Ответ №2:

Ваш код здесь кажется неполным:

 wydarzenia.append (input: String).
  

Вы определили wydarzenia как массив, а метод добавления массива не имеет input именованного параметра. Вот что означает ошибка, для которой вы указали «дополнительный» параметр append .

добавить (_:)
Добавляет новый элемент в конец массива.

func append(_ newElement: Element)

Вы можете просто сделать:

 wydarzenia.append(thingThatYouWantToAppend)
  

что, из вашего примера, может быть строковым значением UITextField ?:

 wydarzenia.append(input.text)
  

Для получения дополнительной информации о том, как использовать массивы, ознакомьтесь с примерами из документации по массиву, например, с добавлением элементов в массив:

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

В общем, для отладки вашего приложения вы можете вставлять точки останова, а затем пошагово просматривать свой код построчно, пока не выясните, какая строка вызывает проблему.

См. Раздел «Инструменты отладки» в документах Apple для разработчиков.