Im Allgemeinen ist eine Funktion mit den Argumenten einiger optionaler Typ (Type?
) impliziert nicht die Notwendigkeit einer Variablen optional Typ als eine Eingabe. Mit anderen Worten, nehmen Sie sich etwas Funktion foo
so dass
func foo(in: Type?) { ... }
Was das wirklich bedeutet, ist, dass die Funktion sowohl nil
und Type
Variablen als Eingaben (bei ungeöffneten) akzeptiert. Logischerweise ist dies nil || Type
, also kann natürlich eine Variable der Klasse Type?
als Eingabe genommen werden, da sie identisch ist nil
oder Type
wenn sie ausgepackt ist. Aber auch Type
(nicht optional) funktioniert auch gut, weil es eine der Bedingungen im logischen Ausdruck erfüllt.
Es scheint, dass Sie Recht haben. –
@ 季 亨达 Fühlen Sie sich frei zu upvote und markieren Sie die Antwort als richtig. Froh, dass ich Helfen kann. –
Das ist sicherlich richtig - warum die Downvotes? –