C'è un modo per ottenere un nome di tipo Swift come una stringa con il suo spazio dei nomi (o nome del framework)?Come ottenere un nome di tipo Swift come una stringa con il suo spazio dei nomi (o nome del framework)
Ad esempio, se Foo.framework
ha una classe denominata Bar
, desidero ottenere una stringa come "Foo.Bar"
.
Di seguito è riportato il nome della classe "Bar"
.
let barName1 = String(Bar.self) // returns "Bar"
let barName2 = "\(Bar.self)" // returns "Bar"
let barName3 = "\(Bar().dynamicType)" // returns "Bar"
Vorrei anche ottenere il nome di struttura "Foo"
come spazio dei nomi.
Grazie per la risposta con il riferimento anche alla nota di rilascio. Mi sono ricordato che il nome del tipo era stampato con il nome del suo modulo prima, ma non ero sicuro che la mia memoria fosse corretta. Apprezzo che tu mi abbia detto che l'inizializzatore di String ha cambiato il suo comportamento predefinito. –