2017-01-15 9 views
2

ich zur Zeit meinen swift 2.3 Code swift 3 bin Umwandlung und ich den obigen Fehler in der folgenden Zeile bekommen:Nil ist nicht kompatibel mit dem erwarteten Argumenttyp ‚String‘

setSharedPassword(nil, account: account, completion: completion) 

Würde die passende Lösung einfach sein NULL durch "" ersetzen? Der Fehler verschwindet, wenn ich es mache. Ich suche nach einer Erklärung. Bitte helfen Sie.

+0

Ja, wenn Sie 'nil' durch' "" ersetzen, verschwindet der Fehler. Es scheint, dass die Methode ein Passwort erfordert - ich nehme an, dass kein Passwort erforderlich ist? – Logan

+0

Ist das Ihre persönliche Funktion? –

Antwort

3

Wenn Ihr setSharedPassword func der erste Parameter vom Typ String ist, dann können Sie dies nicht als nil einstellen, weil es nicht optional ist. Wenn Sie in der Lage sein wollen, dass es als null zu setzen, dann könnte man so etwas für Ihre func tun:

func setSharedPassword(string: String?, account: ...) 

Der Grund, warum „“ funktioniert, ist, weil es immer noch ein Wert für ein String ist, nur einen Wert Das hat keine Zeichen.

Natürlich geht diese Antwort davon aus, dass dies Ihre eigene Funktion ist. Wenn setSharedPassword nicht deins ist, dann müssen Sie entweder einen String erstellen, der kein Passwort darstellt, oder einfach "" wie zuvor angeben.

Verwandte Themen