Я'м просто новичок в Swift программирования. Моя идея довольно проста, который является приложение с двумя кнопками. При нажатии на текстовое поле будет менять свой текст. В основном.Раскадровки, я добавить текстовое поле и две кнопки. В ViewController.SWIFT файл. Я пишу как это:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var textfield: UITextField!
@IBOutlet weak var button: UIButton!
@IBOutlet weak var button2: UIButton!
@IBAction func action1(_ sender: UIButton) {
textfield.text="you just clicked on button1"
}
@IBAction func action2(_ sender: UIButton) {
textfield.text="you just clicked on button2"
}
}
Это должно быть все в порядке. Однако, появляется сообщение об ошибке, которое показывает:
thread1:по сигналу sigabrt сигнал
в файле AppDelegate файл.стремительные линии:
class AppDelegate: UIResponder, UIApplicationDelegate
Что не так с моим кодом?
Вы получите ошибку по сигналу sigabrt, когда у вас отключили розетки. Нажмите на геймпаде посмотреть в раскадровке и зайти в подключения на боковой панели (символ со стрелкой). Смотрите, если у вас есть дополнительная розетка, дубликат, или еще один, что's не связаны. Если это's не то, что возможно, вы еще'т подключения розеток в ваш код правильно.
Только помните, что по сигналу sigabrt произойдет, когда вы пытаетесь вызвать выход (кнопка, вид, поле и т. д.), Что это'т там.
Чтобы решить проблему, сначала чистый а восстановление.
Чтобы очистить проект, идите на меню: продукт -> чистые
Затем перестройте проект, просто нажмите кнопку запуска, как обычно.
Одна из распространенных причин ошибок этого типа является то, что вы можете изменить название вашего IBOutlet или IBAction вы можете просто проверить это, зайдя в исходный код.
Нажмите на кнопку Главная.раскадровка, а затем выберите как открыть а затем выберите исходный код
исходный код будет открытым
и затем проверьте, есть ли имя iboutlet или ibaction, что вы изменились , если нет, то выберите часть и удалить ее, а затем снова создать iboutlet или ibaction. Это должно решить вашу проблему
В моем случае я не'т получаю ошибку просто сбой в файле AppDelegate и мне пришлось снять следующий вариант: OS_ACTIVITY_MODE
тогда я мог бы получить реальные причины аварии на моем .файл xib
Надеюсь, это может помочь вам тоже :)
У меня была та же проблема. Я сделал кнопку в раскадровке и подключил его в файле ViewController, а затем на Удалить кнопку. Так что связь все-таки есть, но кнопки не было, и поэтому я получил ту же ошибку, как и вы.
Исправить:
Идти к инспектору соединения (стрелка в правом верхнем углу, в вашей раскадровки), и удалите все неиспользуемые соединения.
Если вы столкнетесь с этим в Xcode 10 вам придется очистить, прежде чем строить. Или перейдите на наследство построения системы. Файл -и GT; настройки рабочего пространства... -> система сборки: наследие построить систему.
В моем случае не было никаких журналов.
Моя ошибка была в том, чтобы подтолкнуть представление-контроллер в стек навигации, который уже был частью стек навигации.
Иногда это также происходит, когда функция выполняется в главном потоке, поэтому вы можете исправить это путем назначения ему основного потока следующим образом :-
DispatchQueue.main.async{
your code here
}
Для меня эта ошибка была, потому что у меня был подготовить переход на шаг, что было'т применяется на переход, что делается.
длинная история:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let gosetup = segue.destination as! Update
gosetup.wherefrom = updatestring
}
Это делается для того, чтобы все объяснишь, когда это было только на одну. Поэтому я создаю логическое и разместил gosetup внутри него.
В моем случае, я использовал RxSwift для выполнения поиска.
Я активно продолжал использовать общий экземпляр определенного класса внутри метод onNext, который, вероятно, сделал его недоступным (мьютекс).
Убедитесь, что такие экземпляры тщательно обрабатываются только в случае крайней необходимости.
В моем случае, я использовал пару заранее переменные безопасно (и последовательно) хранения возвращаемого значения общей экземпляра'методы, и повторно использовать их внутри наследующей блока.
У меня была та же проблема. В моем случае я просто переписал файл
GoogleService-Info.plist
на этом пути:
Platform\ios\YOUR_APP_NAME\Resources\Resources
В моем случае файлы присутствовали без данных.