¿Es este el momento adecuado para comenzar a aprender rápidamente a desarrollar aplicaciones realmente avanzadas y complicadas para dispositivos iOS o todavía debería trabajar con obj-c?

Madurez Rápida

Swift 2.x es lo suficientemente maduro como para desarrollar aplicaciones con un nivel de complejidad.
Es posible que algunas bibliotecas de terceros no se porten a Swift, pero gracias al puente no es un problema en absoluto.
El lenguaje rápido está evolucionando. 2.0 no era compatible con 1.2. Eso mide ese código escrito en Xcode 6.x no funciona en Xcode 7.0. Así que pasamos unos días portando proyectos bastante grandes de Swift 1.2 -> Swift 2.1 (que también incluye la actualización de algunas API de terceros como Alamofire 1.x -> 3.x)

Elegir el idioma para el proyecto

Yo diría que deberías considerar varios puntos:

  • Cuán grande y avanzado es el proyecto. No me sumergiría en proyectos súper complejos con ningún idioma que no conozca. Swift no es una excepción aquí. Aprende sobre un proyecto simple. Ese es el sentido común.
  • ¿Tiene algún compañero de equipo para este proyecto y, en caso afirmativo, cuál es su conocimiento rápido?
  • Vida útil de la aplicación. En la mayoría de los casos, conoce la vida útil de la aplicación. Si es un juego, la vida útil suele ser bastante corta. Si esa es una aplicación de festival, la vida útil puede ser de 1 semana. Si planea apoyar esta aplicación unos años, Swift podría ser una mejor opción.
  • Características de la aplicación. Las cosas de bajo nivel pueden necesitar conocimientos de C.

También has mencionado que eres desarrollador de juegos. Lamentablemente, no sé si Swift es lo suficientemente maduro para el desarrollo del juego. Nosotros no hacemos juegos.

Swift es más de alto nivel, más conciso y más expresivo en comparación con Objective-C. Puede hacer que la programación sea más fácil y probablemente aún más agradable. Sin embargo, tenga cuidado, para cosas críticas de rendimiento, como audio / video, es posible que deba ir a un nivel inferior y codificar partes de la aplicación en C o Objective-C. Swift no es más rápido que ObjC, es solo la mayor parte del tiempo y para la mayoría de las tareas no importa.

En cuanto al mercado laboral, mi impresión es que Swift tiene demanda y tendencias, por lo que literalmente duplicará sus posibilidades de obtener un trabajo en iOS si conoce ambos idiomas.

¿Te estás desarrollando por ti mismo? Entonces probablemente Swift. ¿Vas a intentar encontrar un trabajo en una empresa? Entonces Objetivo-C. Creo que más compañías comenzarán a cambiar en iOS10 y aún más en iOS11. Pero si echas un vistazo a las páginas de trabajos, la mayoría todavía tiene Objective-C con Swift, ya sea que no esté en la lista o sea un ‘bono’.