Если кто-то написал код с NSObject
как UIViewController
, у вас много проблем. «Изменение чужого кода» означает для меня «Я новый продавец после того, как старик так испортил его, лгать клиенту и СКАЗАТЬ, что они могут сделать работу для iPhone». Может быть, вернуться к клиенту и сказать: «Нам нужно перестроить с нуля, это мусор»? :)
Что касается рассматриваемой проблемы - делегаты приложения являются NSObjects - так что эта часть выглядит правильно. Однако делегат приложения обычно не должен быть UITableViewDelegate
. У вас будет свойство окна и свойство rootViewController в делегате приложения, и последний вызов appDidFinishLaunchingWithOptions:
создаст экземпляр контроллера представления и загрузит его в окно. Затем этот контроллер представления будет обрабатывать любые представления (и, вероятно, в этом случае будет UITableViewDelegate).
Код presentModalViewController:
встроен в UIViewController, поэтому вы не сможете работать с ним непосредственно из делегата приложения.