[Swift]Conversion AnyObject? => UInt64

2»

Réponses

  • Joanna CarterJoanna Carter Membre, Modérateur


    J'aime le minimalisme .. tant que cela ne nuit pas à  la lisibilité du code. Là  c'est parfait. Merci Nounours !




     


    Je t'en prie  8--)


     





    Pourquoi ta première version cherche le fichier dans .DocumentDirectory et la seconde dans .PicturesDirectory ?




     



    Parce que la première, c'est la tienne réarrangée; la deuxième est mon code test où j'ai utilisé une image dans le dossier Images  ;)

  • ok !

  • samirsamir Membre
    février 2016 modifié #34

    Hello, 


     


    C'était la logique de Apple  avant la version 2.0 de Swift, retourner nil quand une opération a échouée sinon retourner une valeur. C'est le pattern qu'on a connu sour Cocoa. 


     


    Avec la version 2.0, Apple commence a mettre à  jour ses API pour ne plus retourner des optional mais plutôt d'utiliser le nouveau système de gestion des erreurs. Par contre cette approche (retourner un optionnel est gardée dans les méthodes d'initialisations).


     


    Donc j'aurais favoriser plut tot une fonction comme :



    func fileSize(fileName:String) throws -> UInt64

    Avec un enum pour définir les erreurs possibles :



    enum Error: ErrorType {case FichierExistePas....}

  • C'est intéressant de voir comment une fonction bricolée à  la vas-vite pour un test unique se transforme en cours de Swift. Merci les gars (et la fille) de toutes ces explications.

Connectez-vous ou Inscrivez-vous pour répondre.