Если этот код находится в делегате приложения, существует множество причин, по которым он, вероятно, не будет работать. Во-первых, вы, кажется, смешиваете контролы View, ViewControllers и Navigation с тем, что вы пытаетесь сделать. Во-вторых, в то время, когда вы пытаетесь это сделать, нет гарантии, что все представления / контроллеры представлений еще не созданы или объединены в том виде, в каком они будут, когда рендерится конечный контроллер представления здания.
Вместо этого вы можете попробовать в своем BuildingsViewController (который вы называете контроллером табличного представления) вы можете получить дескриптор делегата приложения, используя
MyAppDelegate *myAppDelegate = (MyAppDelegate *)[UIApplication sharedApplication].delegate
Получив дескриптор делегата, вы можете просто ссылаться на свою структуру изменяемого массива и т. Д., Которую вы создали на ней, внутри вашего BuildingsViewController.
например. в методе numberOfRowsInSection:
MyAppDelegate *myAppDelegate = (MyAppDelegate *)[UIApplication sharedApplication].delegate
NSMutableArray *myBuildings = myAppDelegate.buildingArray;
return [myBuildings count];
Или в методе cellForRowAtIndexPath:
// something like this but using your names for app delegate, building array and the accessor for the building name
MyAppDelegate *myAppDelegate = (MyAppDelegate *)[UIApplication sharedApplication].delegate
NSMutableArray *myBuildings = myAppDelegate.buildingArray;
cell.textLabel.text = [myBuildings objectAtIndex indexPath.row].theBuildingName;