In Swift 3 scheint die String
-Struktur keinen Initialisierer init(_: Int)
zu haben, der die Konvertierung von Int
zu String
erlaubt. Meine Frage ist warum funktioniert let i = String(3)
? Was String
Methode oder Initialisierer ruft es? Danke.
Es ruft init(_:)
(oder init(_:)
für UnsignedInteger
) Argumente der String
Klasse.
Anstatt separate Initialisierer für Int
, Int64
, Int32
, Int16
, Int8
, UInt
, UInt64
, UInt32
, UInt16
und UInt8
zu definieren, Apple hat zwei generische Initialisierer erstellt: einen für SignedInteger
-Typen und einen für UnsignedInteger
-Typen.
Für alle, die in Swift 3 nur ein int in eine Zeichenkette konvertieren wollen:
%Vor%Für Leute, die optionale Integer in Strings auf Swift 3 konvertieren möchten,
%Vor%