Apple's documentation è abbastanza chiaro su come i metodi di inizializzazione Objective-C vengono convertiti in intializers Swift:Come vengono convertiti i metodi factory Objective-C negli inizializzatori di convenienza Swift?
Il prefisso “init” viene affettato off e diventa una parola chiave per indicare che il metodo è un inizializzatore. Per i metodi init che iniziano con "initWith", anche il "With" viene eliminato. La prima lettera del pezzo del selettore con "init" o "initWith" diviso diventa minuscola e quel pezzo del selettore viene considerato come il nome del primo argomento. Il resto dei pezzi del selettore corrispondono anche ai nomi degli argomenti.
È anche possibile utilizzare i metodi di classe di fabbrica come inizializzatori; tuttavia, ci sono molte meno informazioni su come questi nomi di selettori sono mappati alle funzioni Swift:
Per coerenza e semplicità, i metodi di fabbrica Objective-C vengono mappati come iniziatori di convenienza in Swift. Questa mappatura consente di utilizzarli con la stessa sintassi chiara e concisa degli inizializzatori. Per esempio, mentre in Objective-C si potrebbe chiamare questo metodo factory come questo:
Objective-C
UIColor *color = [UIColor colorWithRed:0.5 green:0.0 blue:0.5 alpha:1.0];
In Swift, si chiama così:
SWIFT
let color = UIColor(red: 0.5, green: 0.0, blue: 0.5, alpha: 1.0)
Quali sono le regole per mappare i metodi factory Objective-C agli inizializzatori Swift?
vedo che questo è un self ask post di autodidatta ... ma se vuoi approfondire questo, il video interop di approfondimento di WWDC è molto buono. – Jack
@JackWu che il video è molto buono per ottenere una comprensione di base, ma non entra in profondità più della documentazione quando si tratta di metodi di fabbrica – Jayson