@JAL réponse est bonne, mais peut-être trop spécifique.
Beaucoup d'API fut renommé en Swift 3. La plupart des types de base (NSUserDefaults
d'entre eux) ont tous deux perdu leur NS
préfixe, et ont vu leurs méthodes renommé pour refléter Swift 3 API lignes Directrices. Fondation "remplace"* un bouquet de ses données de base des classes de type (NSURL
, NSIndexPath
, NSDate
, etc) avec Swift-native types de valeur (URL
, IndexPath
, Date
, etc). La méthode de renommage s'applique également à tous les autres de Cacao / Cacao Touch Api que vous utilisez dans votre application.
Face à ces questions une par une, ligne par ligne, est un moyen sûr de la folie. La première chose à faire lorsque vous déplacez un projet Swift 3 devrait être de choisir Edition > Convertir > Pour Swift Actuel de la Syntaxe à partir de la barre de menu. Cela s'applique à tous les changements à la fois, y compris dans les cas où une seule ligne de code est affecté par de multiples changements (et donc de les traiter individuellement pourraient ne pas vous rendre où vous pensez que vous allez).
*J'ai mis "remplace" entre guillemets parce que l'correspondante NS
des classes sont toujours là pour le cas où vous pourriez en avoir besoin, mais une API qui utilise se réfère à la nouvelle valeur plutôt les types: par exemple, tableView(_:cellForRowAt:)
prend maintenant un IndexPath
, pas un NSIndexPath
.