Problem solved. Thanks to @Paulw11 for pointing out about instantiating the table view. Those who have a similar issue to me make the following changes to your instantiation of tableview: Try this first:
Foo *foo = [[Foo alloc] init];
[self.navigationController pushViewController:foo animated:YES];
If that does not work you may have a similar problem to me therefore use this code:
Foo *foo = [self.storyboard instantiateViewControllerWithIdentifier:@"Foo"];
[self.navigationController pushViewController:foo animated:YES];
Replace classes where applicable and "Foo" should be equal to the Storyboard ID of the view controller you are trying to instantiate.