I'm new to iOS and objective-C and I'm having some trouble in understanding how controllers work.
In my code I have a UIViewController (with my custom controller assigned by storyboard) and inside it, together with other objects, I want to have a table handled by a different controller. What is the right way to do this?
You can make that table view controller a child view controller of your UIViewController. In the storyboard, you can do this easily by dragging a container view into your controller's view, and that will give you a child view controller automatically. You'll want to delete the controller it gives you (it's just a UIViewController), drag out a table view controller, control drag from the container view to the table view controller, and choose "embed". If you need to get a reference to this table view controller from the UIViewController, you can do that in prepareForSegue -- the table view controller will be the segue's destination view controller, and prepareForSegue will be called right after the controllers are instantiated.
You'll want to use an embedded container view.
Drag a "Container View" from Interface Builder sidebar into the view. This adds and links a default "contained" UIView/Controller as well.
Delete the entire UIViewController and View that was automatically added and linked to the container view (as you'll want a Table View Controller instead).
Drag a UITableViewController onto the Storyboard canvas.
Control-Drag from the Container View to the Table View Controller. Select "Embed" to contain the UITableView within the container view.
You're left with the parent view, now containing a UITableView via a Container View. The Controller for the Table View is on the storyboard canvas as well.
Add UITableViewController to storyboard, And create subclass (new file) of UITableViewController. In Storyboard go to Identity Inspector and in Class field type name of the subclass you created. After that you have to add your app logic based on your requirements.
Create Another UITableViewController in the storyboard, go to its inspector and assign it the same UITableViewController class that you have created before...