Вот пример NSLog после нажатия первой ячейки, затем второй
(игнорировать журнал контроллера nil view, я думаю, что это ошибка. Кроме того,
Журнал вниз из частного метода во втором представлении, так что он также может
быть проигнорированным И бонус для тех, кто может разрешить CGContextClipToRect: недопустимый контекст, предупреждение 0x0)
Я знаю, что заманчиво думать, что они не связаны, но важно помнить, что ошибки похожи на снежки - они накапливают больше снега, когда начинают катиться.
musicInteractionController = [[xSheetMusicViewController alloc]init];
Журнал, похоже, указывает, что ваш musicInteractionController равен нулю. Я не видел ваш код инициализации для xSheetMusicViewController (кстати, я рекомендую использовать предложения Apple для именования классов и переменных: классы начинаются с верхнего регистра, а переменные начинаются с нижнего регистра), я не могу сказать, почему, но подкласс UIViewController, вероятно, должен использовать - (id) initWithNibName: (NSString *) комплект nibName: (NSBundle *) nibBundle для init.
Я предполагаю, что если вы решите nil view controller, то вы исправите и другие ошибки.
Обновление
Из документов Apple:
Это назначенный инициализатор для этого класса.
Указанный вами файл пера загружается не сразу. Загружен
При первом обращении к представлению контроллера представления. Если хотите
выполнить дополнительную инициализацию после загрузки пера,
переопределите метод viewDidLoad и выполните там свои задачи.
Если вы укажете nil для параметра nibName, вы должны либо переопределить
метод loadView и создайте свои представления там, или вы должны предоставить
nib-файл в вашем комплекте, чье имя (без расширения .nib)
соответствует имени вашего класса контроллера представления. (В этом последнем случае
имя класса становится именем, хранящимся в свойстве nibName.) Если
если вы ничего не сделаете, контроллер представления не сможет загрузить его
вид.
Итак, все должно быть настроено в методе loadView для класса. Можете ли вы показать нам, как вы реализовали этот метод?