But when I sit down and try to think about how I would do an application on my own I get lost. I no longer have the step by step tutorial and don't have the example to go off of.
I feel like maybe I need to just say fuck it, ditch all of the tutorials and books, and just open xcode now that I know some basics and bang something simple out completely on my own.
Maybe even something similar to a tutorial app I have completed, but only refer back to the tutorial when I am completely lost?
I'm glad you arrived at this point because it happens to be the only way to learn programming.
-- You have to write code that you've thought of on your own. Instead of reading a tutorial and then doing it, you need to set off on your own trajectory with your naive limited knowledge. That's the only way you ever get an a-ha moment when you read the tutorial and go "A-ha, it makes much more sense to do it that way".
All the intuition in programming is locked away in these little morsels that can only be unlocked by experiencing the delta between your shitty approach and a better approach and when you find or engineer an even better approach and when the rubber finally hits the road and you realize your better engineered approach was in fact shit.
So far it sounds like you've done a random walk across the graph of knowledge. And that high level overview will help you articulate your questions and your google-fu when you get stumped.
Now it's time to build things on your own.
I would stop passively consuming tutorials. Only use resources as a reference if they apply directly to the current challenge you're trying to solve right now in your own code.
When you're trying to build something, always aim for the next rung on the monkeybars. The key to programming is that the distance between any two rungs can be decomposed into many more rungs that are easier to iteratively reach.
----
My first personal webdev project was to build a forum. I like forums and always wanted to build my own.
I certainly didn't know how to go from [No Forum] to [Completed Forum]. My programming language didn't have a `(construct-forum)` function.
But I did know that I would need to have a database that at least stored Posts. I never worked with a database before, but I knew enough HTML to create a textarea with a "Create Post" button.
That was the first iteration of my forum: a page with a textarea and a button. Nothing even happened when you clicked the button. But it turns out that "How to create a database" and "How to insert into a database" were easy concepts to google for. I had actionable knowledge within 15 minutes.
After reading some StackOverflow answers, I created my first database table: "posts". It had a single column I named "text". Within the hour, my "Create Post" button added the textarea contents to the database and the page would refresh with <ul> list of all the posts in the database.
But posts need to belong to a topic. I created a "topics" table and learned about foreign keys in databases to represent my "one topic has many posts" relationship. I updated my "posts" table so that it had two columns: "text" and "topic_id".
Now I could loop through all the topics in the database and display all posts where "topic.id == post.topic_id". And from there I created a "users" table and incrementally built up a full featured forum.
----
As you swing from rung to rung, you'll find that many of the rungs involve the same thing and you begin to skip rungs out of experience and familiarity. Over time, you begin to skip more and more rungs because you've already built those things.
Before I put this analogy out of its misery, let me say that watching the other kids swing on the monkeybars doesn't really help until you've struggled on a specific rung and want to see how someone else approaches it.
----
Finally, iOS development is quite the frontier for any developer.
It's far more than just having to grapple with Objective-C. You have to credentialize in a menagerie of frameworks, each with its own idiosyncrasies.
From my experience, burnout happens when you're swinging between too many rungs without ever really reaching the rungs that will advance your goals and purpose. You can ward it off by ensuring that you're actually trying to build something. -- In other words, you don't usually get burned out when you're making progress in some way.
I couldn't find your reasons for focusing on iOS development, but if you find yourself getting entrenched in a state of frustration and burn-out, consider another route like web development. There are simply fewer moving parts, and depending on your iOS goals, you may be able to implement your iOS app ideas as a webapp or lean on kits like
PhoneGap | Home,
Titanium Mobile Application Development | Appcelerator Inc., or similar.