I have an iPad project I’m working on that dynamically creates a number of buttons that I need to add to the main view of my application. I was planning on firing a method that lives inside my View from my ViewController…say it’s called add_buttons. It’s my impression that in the MVC pattern, the view should handle the rendering of buttons and the general display, but the controller should handle the interaction. I’m also under the impression that it’s bad design for the view to “know” about the view controller.
So I guess my question is, should I have my button tap logic contained in my controller? If so, how do I handle the separation? If I’m creating the buttons in my view, then it would have to have a reference to the view controller to use as the delegate for the event handler. If I create them in the controller, then I feel like I need to set certain UI elements in the controller which seems wrong to me. I know I’m missing something obvious but searching so far has proven fruitless.
Can anyone point me in the right direction?
The button tap logic most certainly belongs in the controller.
The code that creates the buttons probably belongs in the controller too. However, it would make sense to include a view method that returns a button with its appearance configured but not its behaviour.
Some general pointe:
Also, the naming convention for methods lowerCamelCase. Eg:
add_buttonshould beaddButton.