Why is it bad design for a UITableViewCell to send messages to the controller in MVC design?
I'm wondering what the reasoning is behind apple's decision not to have UITableViewCells know their row and section, even to the point where implementing a custom accessory button is seemingly non trivial and tricky. I thought it was correct to have the controller receive messages from both sides and mediate per se, could anyone explain this? Or is it maybe just a feat开发者_Go百科ure they haven't gotten to yet?
Thanks.
Because it ties them to the controller. If the cellViews blindly do what they're told, a wide variety of controllers can re-use them. If they're sending specific messages to a controller, that cell can only be used by a controller that conforms to that protocol. It's not the end of the world if a view talks back, but it's just cleaner if the view is out there in la-la land, happy and oblivious.
精彩评论