I'd distinguish 3 main directions that in general are similar between languages and platforms.
- The language.
- The programming.
- The Apple's ecosystem (substitute with any framework to generalize).
In order to thrive, you need to cover this three things together, which might feel overwhelming as there are a lot of things to look out for.
You start with the language itself, free from any other entities, such as Xcode and Apple's SDKs. You learn language, write console apps, compile them from the terminal, etc - write as much as possible code, from book, from head, whatever - you need this sensation of what you're reading in the terms of execution. That will give you the feeling of the app, how it starts, how you can control it. Your apps at this point will be limited to standard input & output, but that's OK, core concepts are highly transferable. Your goal at this stage is to get comfortable with the language and its basic concepts - classes & structs (difference between them), protocols, control flows, etc. More advanced topics, like concurrency, generics, and others you also read through, but right now there is no urgency to understand them fluently.
Once the language is more comfortable for you, you start with the Apple's platforms. I suggest as an entry point this tutorials - Introducing SwiftUI | Apple Developer Documentation. In that way, you will start making apps with some visible result, which is important to "fuel up" yourself. These tutorials will give you the basic understanding how to create apps for iOS, allowing to then go into exploration.
Now as you get yourself more confident with foundational ideas, you need to get deeper at them. Choose some project idea (app you'd like to have) and start developing it. You will face tasks you are not yet know how to approach, and to find a solution you'd better advise to the docs (for example, how SwiftUI state management works, or how to work with API requests). That will allow cover more details. At the same time, you will deepen language understanding: you'll face generics and concurrency, for example, and will see that you need to revisit them with more knowledge of the language.
Finally, it is time to go and get to know more purely programming concepts, by
- Learning algorithms (Grokking Algorithms is one of the best to start with).
- "Design Patterns" book for common elements in apps.
- "The Pragmatic Programmer" book for almost everything

I also highly suggest learning basics of C language. The deal with it is that it, first of all, really simple (not to confuse with easy or shallow), but exposes you to the some concepts, mostly memory-related, that is hidden in many other languages, allowing you to better understand what's going on here. Then, C has a long history and in some way a huge part of languages are compatible with it, including Swift, of course. It also has a lot of open source libraries that might be useful. The last point for learning is that, despite huge drift off the Objective-C, you still can find it useful or required (even though rarely) in development for Apple's platforms, and while there is almost no similarities between ObjC and C in syntax, catching up ObjC is easier when you know C.