That said, I tried to write the post to be geared towards the beginner audience. And I remember when I first started iOS development, UITableView seemed weird.
It comes with two delegate objects with separate responsibilities (delegate and dataSource) and is pretty ubiquitous, so you may interact with it right away when first starting iOS development, before interacting with the many other classes that use delegates (and the, what, 3 others that use dataSources).
To a beginner, that tends to make UITableView stand out as an unusual thing.
I'm hoping pulling UITableView apart, and explaining the machinery can help make those design decisions more clear.
I have not read your post in-depth, I will, but I think it's probably wise to stick to learning UITableView well -- and understanding why I would want to implement something custom -- before avoiding the classes Apple provides.
That being said, I understood delegates, categories, and other Objective-C features much better after coding several applications first, reading a ton of open source code, and then reading relevant parts of Programming in Objective-C (Kochan). I first purchased his book before attempting to code for iOS, and found the pace too slow or concepts too unfamiliar, but after some practice and finding what I did not understand, it is much easier to look to documentation and textbooks for appropriate reference.
Here's to demystifying the internals of UITableView! Your tone seemed fine to me. Glad you geared it towards newer folks to iOS. I remember when I was first starting with iOS, one of the biggest questions I had on these things was "Why?". Luckily posts like this, and the treasure trove of Mike Ash's blog provide a clear understanding of both how the components in Cocoa work, and why they work that way.
Totally agree with that last statement.
That said, I tried to write the post to be geared towards the beginner audience. And I remember when I first started iOS development, UITableView seemed weird.
It comes with two delegate objects with separate responsibilities (delegate and dataSource) and is pretty ubiquitous, so you may interact with it right away when first starting iOS development, before interacting with the many other classes that use delegates (and the, what, 3 others that use dataSources).
To a beginner, that tends to make UITableView stand out as an unusual thing.
I'm hoping pulling UITableView apart, and explaining the machinery can help make those design decisions more clear.