2015-09-10 4 views
11

Что является самым простым способом принудительного крушения в Swift?Самый простой способ принудительного сбоя в Swift

Я хотел бы использовать только одну строку кода (что-то, что я могу добавить быстро).

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

+1

попробуйте функцию 'abort()' – Ian

ответ

37

Обычно вы будете использовать

fatalError() 

или

preconditionFailure() 

для этого.

Они делают то же самое: завершение программы, поэтому код после этого сглаживания никогда не будет выполнен. Все функции, которые имеют такое поведение помечаются атрибутом @noreturn

Вы также можете сделать что-то вроде этого:

func getInt() -> Int { 
    fatalError() 
} 

Функция должна возвращать Int, а потому, что программа никогда не получает, что Вы ничего не должны возвращать.

+0

Может ли это быть в выпуске приложения? Будет ли он проходить процесс сертификации? Я имею в виду, конечно, приложение не может потерпеть крах во время процесса, но для меня он просто проверяет точную дату (через 2 месяца), а затем вызывается fatalError. –

+0

@LiborZapletal Вам придётся не ломаться, чтобы принять, лучше обрабатывать ошибки, когда они происходят. Ваше приложение должно только сбой, когда что-то пошло ужасно неправильно – Kametrixom

17
[0][1] 

Эта попытка пытается получить второй элемент массива из одного элемента.

+16

'[] [0]' один символ короче –

+0

LOL Мне это нравится :) – quemeful

+1

Как и краткость, но это не само документ, а также 'fatalError()' , –

2

Вы можете просто попытаться получить доступ к необязательному значению, которое имеет значение nil ... если у вас уже есть объявленная переменная, и она является необязательной, просто позвоните (не забудьте развернуть), и она обязательно сработает

Смежные вопросы