Ho un progetto sviluppato quando è stato introdotto swift ma recentemente Apple ha una nuova versione di swift 2.0 con xCode 7.0. Quindi, come posso migrare il mio progetto dalla versione 1.2 alla 2.0?Come migrare il mio progetto swift 1.2 in 2.0?
risposta
Nel nuovo Xcode 7 beta andare al menu Modifica -> Converti -> Per Ultime Swift Sintassi
Questo verrà eseguito il convertitore di codice per voi e vi mostrerà i cambiamenti che sta per fare. Si tratta di modifiche automatiche (come la modifica di println per la stampa e così via).
Poi il refactoring del codice per renderlo più Swift-like ecco alcuni suggerimenti:
garantire che si sta utilizzando la nuova gestione funzionalità per quanto possibile (lo strumento di conversione di codice lo fa per la maggior parte l'errore ma a volte capita male).
Utilizzare le istruzioni di protezione laddove appropriato. In generale, utilizzarlo per ridurre il rientro e le dichiarazioni nidificate se. Questi sono davvero belli se usati correttamente.
Quasi tutte le funzioni globali possono essere rifatte in estensioni di protocollo. Sposta le funzioni generiche alle estensioni.
Durante la conversione in/da un tipo (ad esempio String -> NSData e viceversa) utilizzare gli inizializzatori disponibili con il parametro come tipo da convertire anziché con proprietà sul tipo. Quindi, invece di fare
someString.dataUsingEncoding(NSUTF8StringEncoding)
fare qualcosa comeNSData(someString, encoding: NSUTF8StringEncoding)
. Si noti che non è così che viene implementata l'API, ma l'ho usata come esempio per mostrare come le cose possono essere più "Swifty".Utilizzare la verifica della disponibilità dove utile.
- Sposta il codice di pulizia per rinviare i blocchi il più possibile. Questo può aiutare a ridondare duplicati del codice come la chiusura dei file, ecc.
- 1. Lunghezza della stringa in Swift 1.2 e Swift 2.0
- 2. Singleton modello in Swift 1.2
- 3. (Automaticamente) migrare il progetto CodePlex in GitHub
- 4. Come utilizzare dispatch_queue_create in Swift 2.0?
- 5. Posso importare il mio codice progetto in Swift REPL?
- 6. Come ottengo il messaggio di errore in Swift 2.0?
- 7. UIView.animateWithDuration in Swift 2.0?
- 8. countForFetchRequest in Swift 2.0
- 9. Come posso migrare il mio sito da mysql a mysqli?
- 10. Mysterious arresti anomali in Swift 1.2 - in Release build solo
- 11. Impossibile ottenere il supporto dell'InterfaceOrientationsForWindow per lavorare con Swift 1.2
- 12. Swift 1.2 redeclares metodo Objective-C
- 13. Il tipo 'OSType' non è conforme al protocollo 'AnyObject' in Swift 2.0
- 14. Proprietà facoltative dinamiche in Swift 2.0
- 15. Swift 2.0 substringwithrange
- 16. Swift 2.0 constraintsWithVisualFormat
- 17. Lumberjack 2.0 logger con Swift
- 18. È possibile cambiare un progetto XCode per utilizzare Swift versione 1.2 nella beta XCode 7?
- 19. Subclipse non riconosce il mio progetto come progetto SVN
- 20. Domanda sul mio progetto per il mio compito in C++
- 21. Come ottenere un subArray da Swift 2.0
- 22. Swift 2.0 String con sottostringaWithRange
- 23. Utilizzo di Stride in Swift 2.0
- 24. Passare il self come argomento all'interno del metodo init in Swift 1.2
- 25. Esistono grandi differenze tra Log4J 1.2 e Log4J 2.0?
- 26. Google Analytics non funziona con Swift 1.2 e Xcode 6.3
- 27. Modificare la stampa (oggetto) in Swift 2.0
- 28. Migrare Microsoft.Build.BuildEngine.Engine in Microsoft.Build.Evaluation.ProjectCollection
- 29. Come offuscare il mio progetto Android in eclissi IDE?
- 30. Come incorporare gli storyboard in un progetto cocos2d 2.0?