Swift 5... que hay de nuevo?

Alguien sabe que hay de nuevo sobre swift 5? me gustaría abrir este tema ya que hoy se actualizo Xcode y ya viene swift 5 incluido, veo que hay varias cosas que ya de plano están deprecadas y pues si alguien conoce bien el tema y hable mas a fondo sobre swift 5, muchos estaríamos agradecidos… Saludos comunidad!

1 me gusta

Hola, estoy de acuerdo contigo Yan. Si alguien está interesado en dar una charla en iOS Developer Mexico meetup sobre este tema, no olviden proponerlo levantando un issue en el repo: https://github.com/iosdevelopersmx/charlas/issues .

Saludos.

1 me gusta

Si no pueden esperarse lo que Swift 5 podrá hacer cuando salga, aquí les dejo un video donde explican todo lo que habrá en swift 5. Creo que de lo más interesante es el Type Result y el StringInterpolation: https://www.youtube.com/watch?v=_Iw4zf8gtqs

3 Me gusta

hace rato me encontre este link

3 Me gusta

Gracias J05h!!! por tu aportación, ya lo lei y si esta muy buena la info

Gracias GandhiMena! por tu aportación.

Saludos! miren dentro de lo nuevo y mas interesante es las implementacion del Result<T, Error> al implementar en el completion para el “callback” en una variable que es un “enum”, bien eso esta genial, ya lo probé y la verdad se obtiene un código mas limpio y puedes manejar tanto los errores como el response de tu request de manera mas Limpia… bien… PERO OJO, para los que utilizamos ALAMOFIRE, ya que implementa el RESULT pero utilizando un solo genérico, y cuando quieran implementarle el ERROR, aquí es donde yo obtuve un error, y viendo el código del Result que tiene ALAMOFIRE pues me tope que solo utiliza un generico para sus parametros… cuando Swift 5 espera 2 parametros… y pues en este aspecto, si quieren utilizar la nueva implementacion “Result<T, Error >” pues tal vez hay que esperar a que actualicen Alamofire o de plano seguir utilizando el método de “siempre?”… me gustaría que opinaran sobre lo siguiente que les voy a mostrar, la primer foto es el método usado de ALAMOFIRE, y la segunda es usando URLSession, cabe mencionar que he visto que muchos siguen utilizando NSError, bueno pues ahora eso ya les va a dar un problema, pues NSError no contienen los protocolos para Decodear los errores en el Result, y pues a utilizar Error, ambos para método POST.

… creo que con la actualización que hay en Swift 5, nos podríamos ahorrar el uso del pod ALAMOFIRE, y simplemente usar SwiftyJSON para el uso de estos… que opinan?

ahora con URSession utilizando el Result<T, Error>…

1 me gusta

Esta muy bien, también te puedes ahorrar el SwiftyJSON usando Codable, echale un ojo a su funcionamiento y puedes hacer cosas increíbles con él. Incluso puedes conseguir obtener el tipo de resultado con los Genéricos (muy poderosos). Excelente tus aportaciones amigo @Yan .

1 me gusta

Claro @GandhiMena … usando un generico en vez de JSON … Result<Tipo, Error> en vez de Result <JSON, Error> , creo que así te evitas incluso de estar instalado pods, que no son tan necesarios, ya que según nos estamos ahorrando escribiendo código, pero como una vez dijo Brian Voong autor de “Lets Build That App” …que nos ahorremos código no significa que sea la mejor manera de hacer las cosas… les paso un video de este muchacho que es reciente y esta utilizando una estructura para Decodear el Json… “quizás ya lo vieron, pero por si alguien no…” Saludos!

2 Me gusta