Thank You, Matthijs!

Over the years, I have read iOS books/ebooks by Dave Mark, Big Nerd Ranch, Wei-Ming Lee, Neil Smythe, Matt Neuburg, many RW tutorials and probably several others, but Matthijs Hollemans’ tutorials absolutely tower over the rest. This is not to say that I have not learned from the aforementioned authors because I have learned from each and every one of them.

IMHO, a person thinking that they are a ‘seasoned dev’ can be humbled if they take the time to slow-step through one of Matthijs’s detailed tutorials. Speaking only for myself, the ‘path of least resistance’ when following along in a tutorial is usually to just concentrate on the getting the app built and skip over all the details. While we do learn in so doing, we also overlook vital information that could carry us over when an error impedes our path on another day.

In all fairness, I must add that I just recently went back over all of the Core Data by Tutorials (Swift 2.2 version) ebook and found each tutorial to be very enlightening as well. The enthusiasm and expertise of each of the author’s was evident in each tutorial. However, Core Data is a broad subject and each tutorial was focused on a particular section of CD.

In the case of Matthijs’s tutorials he focuses on one framework, if you will, and dissects it in great detail for our benefit. For example, Matthijs’s ‘Checklist’ tutorial covers table views like I have never seen before. I thought I had a fairly good grasp of table view’s, but he proved me totally wrong. Most table view tutorials that I have viewed are usually demoed using built-in data. IMO, real world table views normally enable user input. I have no idea what an app that only provides static data would be good for? I am probably overlooking something.

Matthijs’s knowledge is profound and his presentations are flawless, but his detailed explanations are pure dev gold. It also goes without saying that if you have not made a lot of mistakes along the iOS/Swift journey you will not recognize the insight to his many ‘Note(s)’ and comments. The ‘black view’ comes immediately to my mind. If you have not made that school boy mistake his explanation of that will fly right over your head.

Lastly, I wish to thank Ray (and his team) for bringing all of this expertise to us. You have enabled wanna-be dev’s such as myself to improve and develop our iOS/Cocoa Touch skills in a great and friendly environment.

Phillip Anthony


I believe Matthijs responded to you on this already on email, but I just wanted to chime in and say thanks so much for this kind note! This is one of the nicest notes I’ve ever read, and I’m so happy to hear that you enjoyed the book. Thank you for supporting what we do on this site! :]

Couldn’t agree more! :mortar_board::tada: I’m coming from a web development background and I have tried iOS a couple of times, mainly when it was Obj-C (which I found awkward to learn), but also Swift and the tutorials most have are lacking. They work certainly, but are unrealistic to real needs, you mention the classic static data tableView.

I have really enjoyed @hollance’s book. I am half way through the third example, I have adapted the code for my needs, I always start with the project and follow along, but for me I find I learn better when I have to think “Ok, this is the code for this, but I want to do this instead, how do I do that”, but I will be stopping my project shortly and re-reading and redoing example 3, to try and solidify my knowledge and understanding.

Thanks to @rwenderlich and @hollance and all the guys who have helped


Yes, I did receive a very nice missive from Matthijs. I really hated to bother him, but felt that he (and the RW dev community) needed to hear my thoughts. Actually, I was feeling guilty for not doing so earlier and had to get this ‘to do’ item off of my ‘Checklist’. Pun intended!

I have learned quite a bit from every ebook I have purchased from this forum. The iOS/Cocoa Touch frameworks come with a steep learning curve. Add to this the fact that this entire dev environment is in a constant state of flux (iOS X, iOS X+1, …, iOS X+n, …) which makes staying ‘current’ a very daunting task.

You guys obviously know this which is why you exist and for that I am very grateful.

Thanks again!

1 Like

Amen! I hear all that you noted loud and clear.

My first app was based on Obj-c, but am (now) finding that Swift is much cleaner, but it too, has its own unique caveats. (Isn’t this true of everything in life?) Regardless, I am enjoying all that Swift has to offer, but without ebooks such as Matthijs’s and all the other ebooks and knowledge offered here, I am quite certain that my dev progress would be very slow indeed.

As I read your learning comments I felt as though I had written those words because my habits are very similar to yours. However, my preference is to read an entire tutorial first (often several times) before I launch Xcode and build the app.

I used to peruse tutorials to see if there was something in the tutorial app that interested me and if not, I would skip it and move on to another tutorial. I think I did that because at that moment in time my mind was set on finding code that would bring one of my apps to life. In hindsight, while I may have learned by so doing, I did myself a disservice because that was NOT the way to really gain knowledge and improve my skill level.

Today - and I really have to thank Matthijs for this, I view tutorial learning much differently that I previously did. His tutorials are embedded with so much information that if a person takes the time to grasp all that he notes you cannot help but learn. The Checklists demo app that he builds is great all by itself, but IMHO the knowledge that he imparts while so doing is mind boggling. I have never worked through a tutorial where the author not only dissects (and re-dissects) the main character, in this case table views, but he also clearly explains delegation and its importance in dev development. I’ve read about the importance of delegation over and over a million times, but Matthijs brings it to life with crystal clear examples AND its application in a real app. Amazing!!

I think it is also fair to say that if you are new to app development or have not made a lot of coding errors you will not appreciate the wisdom that Matthijs imparts in each of his tutorials. IMO, he defines, in great detail, all the building blocks (knowledge) that you will need to build your next app. It’s one thing to know how to use a certain framework/API, but it’s more important to know why you need it and how it actually functions. Matthijs is a master at defining all of this for you.

Lastly, and again Matthijs points this out as well, I need avail myself of Apple’s dev documentation on a much more regular basis. He is not the first to make this point to me, but this time I need to heed this advice.

Thanks again!

I cannot agree more. Up until this point my main source of iOS learning was from Big Nerd Ranch, I have enjoyed their tutorials and have learned a lot but the tutorials in the iOS Apprentice book are, IMO, the best I’ve seen. I believe that each book can teach you something new or gain a deeper understanding of a concept you weren’t quite getting; the tutorials in this book and how Matthijs builds little by little, refactoring as we go has really helped me understand not only the coding aspect of things, but development as a whole.

One thing that to me has set this book apart from the others is including when to expect Xcode to throw an error, and including word for word, what that error is and then how to resolve it. What I mean by this is, when writing code we’re never going to write it perfectly the first time where we don’t end up with some fatal error, or even breaking things when we refactor our code. So Matthijs has purposely written some of the examples to include these “common” road blocks a new dev might run into, which for me as brought a level of ease to the learning process!

Your Big Nerd comments stuck a chord in me. The Big Nerb books used to be my goto books for every iOS upgrade, but they have been long forgotten. IMO, books can never keep up with the iOS and Xcode revisions. They may no longer print books, but I am not certain of that.

I used to moderate a forum based on a well known (and good IMO) iOS book author. The latest book at that time came out just as Apple revised Xcode and all of the book tutorials were creating serious issues with noobs. I spent nearly 90% my time explaining that the author was not to blame for the problems they were experiencing. I finally created a sticky post explaining the dilemma. Most did not bother to read it so little good that did. I do not miss those days.

Your post mirrored my thoughts on Matthijs’s tutorials precisely. But, IMO his tutorials only really work for those of use who have hit the ‘dev brick walls’ that Swift and Xcode have previously tossed in our paths. It is only then that we recognize the increible amount of knowledge that he lays out for us one every page. His explanations are in-depth and crystal clear. Matthijs is a master iOS instructor in my book. And he is also a gifted comedian: On page 40 of Checklists he notes on Boolean variables the following:

'Think of ! as “not”: not yes is no and not no is yes. Yes?

Speaking of errors …
I have a habit of documenting everything that I think is important as I progress down this iOS journey. Errors are a big part of this log (MacJounal) and because of these notes I have gained some skill in determining what such-and-such error actually means. Not always, but most of the time. (Some Xcode errors are really difficult to figure out.) I hate wasting time deciphering an error only to realize later on that I had already had that ‘experience’ and should have recognized immediately. Now, I just check my log and go from there. This has saved me quite a bit of time. The best strategy, of course, would be to not make an coding errors. Ha!

Logging takes discipline and I’m not the best person for the job, but I do my best. Just a thought.

Thanks for your comments.

Yes, they do still create print books and you are absolutely correct that books can never keep up with iOS and Xcode. Case in point the latest iOS and Swift book from BNR was released within the last 6 months which is written for swift 2 and iOS 9 which will soon be out of date when the updates are released.

As you stated this is not the fault of the authors, rather a consequence of technology moving forward combined with what I can only imagine is the slow process in writing a technical book. I’m new here and to the Apprentice series, but i’m encouraged that with the PDF version of the book comes a free update to iOS 10 and Swift 3 when it’s available (as I said I know writing these technical books take time, but i’m hopeful the update is not far behind the actual release of iOS 10 and Swift 3). Referring to material that was written for older versions of software is never fun, especially for those that are noobs :slight_smile: