Cara,
Venho de um estudo fora do mundo acadêmico, ou seja, aprendi as coisas meio sem método, sem seguir uma linha muito organizada, por tanto, se for o seu caso, vou opinar com base nas coisas que mais me deram dor de cabeça.
Vale começar dando uma lida sobre programação, linguagem, conceitos de orientação a objeto, isso você encontra fácil na net.
Depois, vale buscar uma linguagem que te ajude a entender como se aplica aqueles conceitos. Uma boa linguagem é a Java, mas se a ideia for desenvolver para o mundo IOS e MacOS, eu ia de PHP. Falo isso porque a grande graça do apps atuais é a possibilidade de se comunicar com um servidor, o que é por demais facilitado, se já há o domínio dessa linguagem, ou seja, aquilo que vai te dá suporte para aprender a linguagem de desenvolvimento dos apps que você quer, já vai ser útil para esse próprio desenvolvimento. Outra coisa que vale muito a lida é em conceitos de SQL, linguagem para criação e gestão de banco de dados.
Feito isso, você já vai dominar diversos conceitos e entender uma certa lógica, não sei se é propriamente lógica de programação, mas uma lógica de como os objetos se comunicam e agem dentro de um app.
Aí você segue com o aprendizado do Swift, linguagem que ainda tá meio amorfa, não tá 100% lapidada, mas, é verdade, vem no intuito de ser mais agradável ao programador iniciante.
Mas não posso deixar de falar uma coisa, a Swift ainda é uma linguagem em desenvolvimento, vai ser difícil viver só com ela no próximo ano. A interação OBJ-C e Swift vai ocorrer inevitavelmente, já que muitas API ainda são em OBJ-C e só serão rescritas aos poucos. Estamos vivendo uma fase de transição, nem a OBJ-C morreu, nem a Swift já é adulta. rsrsrsrs
Velho, se precisar de algumas dicas mais práticas no encaminhamento é só falar