Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

deadmauh55

macrumors newbie
Original poster
May 24, 2016
3
0
So i took swift v1 basics and swift 2.2 basics from treehouse and then stopped for awhile since they were not posting out content for swift fast enough and went to other places but the other places didn’t work and now i found these books and video so my questions are:

#1: How many hours a day should i learn?

#2: How do you test your knowledge from what you’ve learned

#3: Is it worth the time to do these books + video course

#4: Do you recommend anything i should do

#5 What do you think the time frame to learn iOS development is?


Books:

https://www.bignerdranch.com/we-write/swift-programming/

https://www.bignerdranch.com/we-write/ios-programming/

Video course:
https://itunes.apple.com/us/course/developing-ios-8-apps-swift/id961180099

Since iOS9 is out should do as well or just do this one?
https://itunes.apple.com/us/course/developing-ios-9-apps-swift/id1104579961
 
Other people may chime in to answer specifically, but since you have a knowledgebase to work off, I suggest you begin writing some sort of app.

Raw experience will help you become familiar with the language in use and allow you to experiment with many different solutions that exist.
 
  • Like
Reactions: deadmauh55
Other people may chime in to answer specifically, but since you have a knowledgebase to work off, I suggest you begin writing some sort of app.

Raw experience will help you become familiar with the language in use and allow you to experiment with many different solutions that exist.
Alright, i will do that too
 
There is no right answer as people learn differently and have different time and motivations. Learning to program and iOS in particular is a very lengthy process that constantly changes. There are dozens of specializations and so you need to work towards what interests you (iCloud, OpenGL, HealthKit, remote services, audio, etc, etc) and not try and understand it all. Do try and learn iOS 9/swift 2 and with 10 coming soon, be prepared for more changes.

I've seen a few books and courses that are useful starting points but in the end it is up to you to capture that knowledge and use it. Probably the best resource is raywenderlich. Although I do find their beginner material is daunting for true beginners, their material is top notch. You get detailed tutorials and good coding practices, something most other cbt's lack. It does seem their forums are rather weak which brings me to my next suggestion.

Get a coding buddy. Like a gym buddy, this is a great way to keep motivated and push ahead. Try searching meetup and see if there's any iOS groups in your area. Having an app in mind you want to build (to keep focused on the areas you need to learn) along with someone to help and get help can be very beneficial.

Like any other learning, you need to practice and not just watch videos or read books. So take what you learned and do it again yourself without looking at the tutorial. Then do it again. Then do it another way. Then...you get the idea. Learn how to read xcode error messages, use google and StackOverflow for answers because it's surely been asked 100 times already.

My last suggestion is to keep an organized structure of your programs you've written so you can go back and review previous code. Also, it's very handy to have a library of code/snippets you've written that you can reuse. Maybe you saw how to make a button with rounded corners or how to use NSUserDefaults to save info. Put that little code someplace you can quickly look it up. I have a github vm where I keep not only my projects but all my code snippets.
 
There is no right answer as people learn differently and have different time and motivations. Learning to program and iOS in particular is a very lengthy process that constantly changes. There are dozens of specializations and so you need to work towards what interests you (iCloud, OpenGL, HealthKit, remote services, audio, etc, etc) and not try and understand it all. Do try and learn iOS 9/swift 2 and with 10 coming soon, be prepared for more changes.

I've seen a few books and courses that are useful starting points but in the end it is up to you to capture that knowledge and use it. Probably the best resource is raywenderlich. Although I do find their beginner material is daunting for true beginners, their material is top notch. You get detailed tutorials and good coding practices, something most other cbt's lack. It does seem their forums are rather weak which brings me to my next suggestion.

Get a coding buddy. Like a gym buddy, this is a great way to keep motivated and push ahead. Try searching meetup and see if there's any iOS groups in your area. Having an app in mind you want to build (to keep focused on the areas you need to learn) along with someone to help and get help can be very beneficial.

Like any other learning, you need to practice and not just watch videos or read books. So take what you learned and do it again yourself without looking at the tutorial. Then do it again. Then do it another way. Then...you get the idea. Learn how to read xcode error messages, use google and StackOverflow for answers because it's surely been asked 100 times already.

My last suggestion is to keep an organized structure of your programs you've written so you can go back and review previous code. Also, it's very handy to have a library of code/snippets you've written that you can reuse. Maybe you saw how to make a button with rounded corners or how to use NSUserDefaults to save info. Put that little code someplace you can quickly look it up. I have a github vm where I keep not only my projects but all my code snippets.
So should i read both swift and iOS programming from Big Nerd Ranch?
 
The table of contents for both seem comprehensive so I wouldn't say no. As a suggestion, I would say follow the iOS book and for each chapter where you write code, use the Swift book as detailed explanation of the subjects used. Just my opinion but looking at the Swift book would be like reading a dictionary to learn to speak. It just seems so dry. Necessary but dry.

If you want to pm me, I can suggest a cbt to look at that costs around $35. The teacher is very motivational and the material is fun. Maybe not the best coding practices but for a beginner that's less important than quitting because you lost interest.
 
  • Like
Reactions: deadmauh55
#1: How many hours a day should i learn?
Don't do it until you're burnt. Instead focus on one thing, practice it in a playground, get creative with it, if you are doing for loops practice, looping through a number, then practice looping through an array, loop through an array and add to it looping through another array, learn the functions that are most commonly introduced with loops. But only really focus in on one thing. Once you think you have it down, take a break and stew on it for a bit. Come back an hour or two later and see how much you remembered. Once you've got it down pat move on to the next thing.

Some things you'll get in seconds (variables vs constants) others might take a while (generics, linked lists, stacks and heaps). Worry about the basics, then move on to bigger and more complex things. You know where you are when it comes to this so of course if you know Swift 1 you've got a lot of the basics.

When I first started off learning C# I probably spent 8 hours a day learning new material only to realize that I wasted about 5 of those hours because I didn't remember the content. It sank in like a brick to my forehead. After going through it over and over and over again it finally stuck, something clicked and I couldn't tell you when it happened if my life depended on it. After I got why I was doing it and how the computer was trying to do it, I was able to translate that into any other language.

In the case of for loops. Starting off I wouldn't be able to tell you much less write out "for (int i = 0; i < 5; i++)" but once I figured out that they wanted a defined variable; how to determine iterations, and how to increment the variable and that this variable could be used inside of the for loop, it didn't take much to realize that in Swift it's for <variable to increment> in <number of iterations> (<i++ is inferred>) I was like hey I got this.


#2: How do you test your knowledge from what you’ve learned

Write something, anything could be a simple console program, could be a full blown app that pulls data from an API.

A website that I like is HackerRank.com, the problems are mostly math problems, but they make you use specific methods to pass them so it might be a good place to look at if you are wanting to test yourself.


#3: Is it worth the time to do these books + video course

I haven't used them so I can't say how good they are, but anything is better than nothing.


#4: Do you recommend anything i should do

Aside from what you are already doing, you might check out hackingwithswift.com, they have some good tutorials out there that focus in on both the scripting side and iOS side of Swift. AppCoda is another good resource although it's a bit scrambled, it does contain a lot of real world practical applications.


#5 What do you think the time frame to learn iOS development is?

It never really has a finite end. There's always something else to learn and by the time you think you've learned it, Swift Next is coming out with more changes. It's just important that you get down the basics and understand how to write functions, everything else is more or less a function that calls for specific parameters to do something. If I were to put a number on it, I'd say if you have nothing else to do, you can learn it in a few months. If you, like me, have a day job, it might take a bit longer.
 
Last edited:
1. As others have written build an app. Best way to learn is to come up with a project and build it.

2. Learning is always best with repetition in small and often chunks rather than single big ones. If you practice 1-2 hours a day, 6 days a week you will learn better than 2 all day events.

3. Experts say you have to repeat something at least 50 times and at least 6 months to get to really know it.

Did I mention repetition?

Enjoy.

Ps. I've been writing iOS for over four years (objectiveC), have an app in the App Store (two more in the que for this year) and I just learned how to program real-time (almost) graphics for a need in one of the apps. iOS and OS X are a very big, full and robust APIs.
 
  • Like
Reactions: mildocjr
1. As others have written build an app. Best way to learn is to come up with a project and build it.

2. Learning is always best with repetition in small and often chunks rather than single big ones. If you practice 1-2 hours a day, 6 days a week you will learn better than 2 all day events.

3. Experts say you have to repeat something at least 50 times and at least 6 months to get to really know it.

Did I mention repetition?

Enjoy.

Ps. I've been writing iOS for over four years (objectiveC), have an app in the App Store (two more in the que for this year) and I just learned how to program real-time (almost) graphics for a need in one of the apps. iOS and OS X are a very big, full and robust APIs.

TL ; DR version of my post lol
 
#1: How many hours a day should i learn?

How many do you have? 6 is probably good, it enough to read some, watch instructional videos, write code, and overcome obstacles.

#2: How do you test your knowledge from what you’ve learned

By producing actual code doing that very thing, and seeing it run in the simulator or on your device. You can always just make print statements, or see results in a playground.

#3: Is it worth the time to do these books + video course

I believe so. At least with the iTunes U Stanford course, or ones from Udemy, Lynda, etc.

#4: Do you recommend anything i should do

Don't just read on it's own, or watch YouTube videos on their own. Do the coding, and put every step into practice. Save all that code in GIT. Every month or two, go back over your old code to review what you've learned, and think about how you would improve your approach.

#5 What do you think the time frame to learn iOS development is?


Where are you starting from? Do you have other programming experience, or a computer science degree? How much of iOS are you trying to learn? It's a vast system, and you can make useful apps while still knowing zero of other parts of it. It could take from 3 months to a year to get to a useful point, but you still won't master it. Plus it's a moving target. But useful is all you need.

I'd recommend going straight to the iOS 9 Stanford course. I did the iOS 8 one, on iOS 9 using Swift 2.2, and the example code was in Swift 1.3 and always needed to be updated, and some of the relevant APIs became deprecated, and replaced with new techniques in iOS 9.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.