je dois surtout d'abord apprendre les bases qui pourrais me donner un site,
Bah non, désolé, la construction de ta phrase ne permettait pas de deviner que c'était une question. Si tu veux programmer, sache qu'un langage est comme une langue; il a une syntaxe, une ponctuation et un vocabulaire, ce dernier impliquant aussi l'orthographe. Tu t'exprimes mal? On ne te comprendra pas. Tu codes mal? Ton application plantera ou, dans Xcode, ne se lancera pas.
Commence par apprendre l'algorithmique. Ce sont des choses qui t'enseignent la logique à suivre pour traiter une information et donner une instruction. C'est indépendant de tout langage, absolument nécessaire tout en étant court et donc simple à apprendre. Tu trouveras des notes de cours en français sur des sites comme developpez.com à la page suivante :
https://general.developpez.com/cours/
Ensuite, apprends le langage C qui est la base de tout le reste. C'est simple et te permettra d'appliquer la théorie de l'algorithmique par de petits exercices (quelques lignes de code) dans Xcode, dont tu apprendras en même temps l'utilisation.
Apprends ce qu'est la programmation "orientée objet". C'est obligatoire.
Objective-C ou Swift ? Swift n'est pas pour les débutants car il rend invisible des choses qu'un débutant doit voir pour les comprendre. C'est un langage toujours en développement et aucune entreprise sérieuse n'utilise un outil trop récent, donc tu as encore quelques années pour travailler confortablement avec Objective-C avant de passer complètement à Swift. A moins que tu veuilles que tes petits programmes réalisés à titre d'exercice aillent rejoindre les 500.000 applications de l'App Store qui ne se vendent pas car elles n'intéressent personnes mais ont réussi à passer les tests de validation car leur vernis donne l'illusion de la qualité bien qu'elles aient été codées avec les pieds.
L'anglais n'est pas obligatoire mais aide grandement. Les langages de programmation utilisent des mots anglais dont tu pourras comprendre le sens plus facilement, et mieux retenir leur bon usage si tu connais l'anglais plutôt qu'en devant systématiquement te référer à un manuel de programmation ou un dictionnaire. C'est un peu comme en français, quand tu tombes sur un mot que tu ne connais pas, et dont tu peux deviner le sens en analysant sommairement l'étymologie si tu as fait du latin ou du grec au lycée.
Tu trouveras toute l'aide disponible sur Internet mais en général c'est en anglais car cette langue domine le monde technique. Un site de référence que je déconseille cependant car il s'y écrit beaucoup d'âneries : stackoverflow.com. Tu peux poser tes questions ici ou sur le site developpez.com susmentionné.
Toujours en anglais, le site d'Apple pour les développeurs a été refaçonné cet été et offre maintenant une documentation enfin à jour, avec exemples en Objective-C et en Swift. Egalement, un bon didacticiel sous forme de podcast disponible sur YouTube :
https://www.youtube.com/user/AppleProgramming/featured
Les épisodes récents sont en Swift mais les plus anciens, qui enseignent par ailleurs les bases, sont en Objective-C.
Que tout ceci ne te décourage pas! Peu importe la longueur de la route; un pied devant l'autre et c'est parti...