2015-09-10 12 views
11

Was ist der einfachste Weg, um einen Crash in Swift zu erzwingen?Der einfachste Weg, um einen Crash in Swift zu erzwingen

Ich möchte nur eine Zeile Code verwenden (etwas, das ich schnell hinzufügen kann).

Ich möchte keine Haltepunkte verwenden, ich möchte eigentlich, dass die App abstürzt.

+1

versuchen die 'abbrechen()' Funktion – Ian

Antwort

37

Normalerweise würden Sie

fatalError() 

oder

preconditionFailure() 

dafür.

Diese tun genau das gleiche: Beenden des Programms, daher wird der Code nach diesem Stamement nie ausgeführt.

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

Die Funktion soll eine Int zurück, aber weil das Programm wird nie zu, dass: Alle Funktionen, die dieses Verhalten aufweisen, werden mit dem @noreturn

Sie können auch etwas tun Attribut kommentiert Punkt, Sie müssen nichts zurückgeben.

+0

Könnte dies in Release App sein? Wird es einen Zertifizierungsprozess durchlaufen? Ich meine natürlich kann App während des Prozesses nicht abstürzen, aber für mich wird nur das genaue Datum überprüft (nach 2 Monaten) und dann wird fatalError aufgerufen. –

+0

@LiborZapletal Ihre App muss nicht viel abstürzen, um akzeptiert zu werden, es ist besser, Fehler zu behandeln, wenn sie auftreten. Deine App sollte nur abstürzen, wenn etwas furchtbar schief gelaufen ist – Kametrixom

17
[0][1] 

Dies versucht auf das zweite Element eines Ein-Element-Arrays zuzugreifen.

+16

'[] [0]' ist ein Zeichen kürzer –

+0

LOL ich mag es :) – quemeful

+1

wie die Kürze, aber es ist nicht selbst Dokument sowie 'fatalerror()' . –

2

Sie können einfach versuchen, auf einen optionalen Wert zuzugreifen, der keinen Wert hat ... Wenn Sie bereits eine Variable deklariert haben und sie optional ist, rufen Sie sie einfach auf (vergessen Sie nicht, die Nachricht auszupacken) und sie stürzt sicher ab

Verwandte Themen