Diese Frage muss oft gestellt worden sein, aber eine Erinnerung ist immer willkommen für Neulinge in der iOS-Entwicklung (auch wenn, wie markiert, die Kommentare, ein wenig Erfahrung für sich hätte nützlich sein können).
Zuerst was ist nil
? Nun, es ist nichts, ist das einfach. Ein leeres String
unterscheidet sich von null, da es ein Objekt ist, ein String
mit 0 Zeichen drin. A String
mit mehreren Leerzeichen darin unterscheidet sich auch von diesen beiden Werten, weil die String
Länge von 0 verschieden ist, auch wenn einmal angezeigt, Ihr String sieht leer aus!
FYI, bevor iOS6, der Standardwert der text
Eigenschaft auf einer UITextField
war nil
, und es war notwendig, es zu testen, bevor es zu benutzen. Jetzt ist der Standardwert eine leere Zeichenfolge ""
. Ich denke, die text
ist eine optionale String
in Swift wegen dieser historischen Standard-Wert.
Haben Sie es versucht? –
Ein einfacher Test könnte Ihre Frage beantworten: 'print (text? .isEmpty)'. Mögliche Antworten = null, wahr und falsch. – Eendje
@MartinR & Eendje, ich habe es versucht, aber ich wollte die Theorie dahinter wissen ... –