Sorry, it simply seemed that way to me. I am not a computer science major so I don't understand as much about computer science and programming as yourself and phoneydeveloper. I will accept your explanation as it seems the most plausible now.
Well I am in no way really an expert yet either. I'm just finishing up my first year now (equivalent to second year in the US - different educational systems... It's complicated).
I'm currently writing an abstract machine for a semi-custom programming language as a part of my course on programming languages (finishing up this week). Seems like there's an issue in my compiler I need to fix, but I digress - Point I was getting to, is that I feel I have quite a good grasp of how things work fundamentally, but I don't yet have the best grasp of how UIKit in particular works, and Swift is not my main language. I understand general behaviour and language constructs, and I have used UIKit and Swift, but not as much as other technologies, and I'm not entirely acquainted with all the specifics of how the UIKit and App Delegate model really functions. In most of the code I've written, I've very much been in control, sending calls to libraries - but when you write code using a framework like UIKit, it's more of a two way dialogue. You don't just send calls to UIKit, it sends calls to you. To really follow the flow of things, you need to understand its behaviour as well as your own code, and I won't call myself so experienced with UIKit.
All that aside, I think it's great that you're digging into development. I started doing a fair bit myself before I started my CS education, and I'd like to just point out that there's a lot of corners of computing you'll never think of or stumble into if you just try and learn app development. That may not be an issue at all, but if you want to dig deeper I can highly recommend maybe following some online courses through iTunes U or something. Can be free. Algorithms and datastructures, languages, compilers, maybe databases if you want to interact with SQL at one point. Depending on how deep you dig, you might also want to take some mathematical courses like linear algebra.
For Swift specifically, the Swift Programming Language is a good ebook to read.
Of all of this though, I think algorithms and datastructures is the subject I'd most recommend looking into. Learning time complexity and space complexity of different algorithms, and how to store data to optimise for certain operations can be a great benefit down the road. Just don't get sad if red-black trees take a while to get the hang of... We all hate em

.
I can also very strongly recommend LeetCode. You can use it with pretty much any programming language (including Swift). It's a set of a lot of smaller challenges, you write the code to solve it, submit it to the server, and it tells you if it's correct and how fast your code was compared to everyone else, and how much memory you used compared to others. It's great practice and a lot of fun.
Well, all is fine now. Thanks to both you and phoneydeveloper for all of your help and suggestions!
Sure. Let us/me know if you ever need anything else.