How can I understand this snippet

In Swift Apprentice , P107(pdf, 4th edition):

func addItemViewController(controller: AddItemViewController, didFinishAddingItem item: ChecklistItem) {let newRowIndex = items.count items.append(item)
let indexPath = NSIndexPath(forRow: newRowIndex, inSection: 0) 
let indexPaths = [indexPath] 
tableView.insertRowsAtIndexPaths(indexPaths,withRowAnimation: .Automatic) 
dismissViewControllerAnimated(true, completion: nil)
}

I am bit confused on the object:
for the sentence:
tableView.insertRowsAtIndexPaths(indexPaths,withRowAnimation: .Automatic)
it talks about the embedded object, that’s ChecklistItemViewController;
but for the sentence:
dismissViewControllerAnimated(true, completion: nil)
it talks about the delegating object, that’s AdditemViewController.

Why don’t I need to explicitly specify the object, like:
controller.dismissViewControllerAnimated(true, completion: nil)
or:
self. tableView.insertRowsAtIndexPaths(indexPaths,withRowAnimation: .Automatic)

The self is implicit - in Swift you will see self omitted far more often. Because this view controller is both the presenting view controller as far as dismissViewControllerAnimated and has a reference to tableView, it can perform both these operations without self. You only need to specify the target if you want it to be some other object.

You have actually posted and asked your question and issue in the wrong thread, forum and category after all for sure and for good indeed: this is an iOS Apprentice related query and you are in the Swift Apprentice forum. Please post your question in the appropriate, corresponding, associated and correct thread over here instead: https://forums.raywenderlich.com/c/books/ios-apprentice in order to get a proper answer, reply and solution to it after all for sure and for good indeed. Thank you! :]