Building an Open, Drop-in Replacement for UITableView
techblog.livingsocial.com
Building an Open, Drop-in Replacement for UITableView
1–10 of 18 posts
Re: Building an Open, Drop-in Replacement for UITableView
#2Nothing unusual about delegates, the entire iOS codebase is littered with them.
But kudos on doing what we all eventually think about doing, the longer we work with UITableView
Re: Building an Open, Drop-in Replacement for UITableView
#3Re: Building an Open, Drop-in Replacement for UITableView
#4"It relies on a relatively unusual API design – delegates..." Nothing unusual about delegates, the entire iOS codebase is littered with them. But kudos on doing what we all eventually think about doing, the longer we work with UITableView
Re: Building an Open, Drop-in Replacement for UITableView
#5"It relies on a relatively unusual API design – delegates..." Nothing unusual about delegates, the entire iOS codebase is littered with them. But kudos on doing what we all eventually think about doing, the longer we work with UITableView
Re: Building an Open, Drop-in Replacement for UITableView
#6Nice job creating your own implementation of UITableView. Although, if you find delegates and datasources unusual then its best for you to spend more time getting familiar with them rather than trying to work around them.
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.
Re: Building an Open, Drop-in Replacement for UITableView
#7Re: Building an Open, Drop-in Replacement for UITableView
#8Nice job creating your own implementation of UITableView. Although, if you find delegates and datasources unusual then its best for you to spend more time getting familiar with them rather than trying to work around them.
Hi! Post author here. 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, befo…
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.
Re: Building an Open, Drop-in Replacement for UITableView
#9Re: Building an Open, Drop-in Replacement for UITableView
#10Mike Ash did something similar on his Friday Q&A posts: http://www.mikeash.com/pyblog/friday-qa-2013-02-22-lets-buil...
UITableView is one of those components that we all spend so much time with that everyone has little tweaks they want to make. Implementations like these at least give us options to extend/tweak low level behavior should we need to. I also love it when they write thorough blog posts like these explaining explicitly their rationale and structure of the component.