это мой первый пост здесь, хотя с помощью многих вопросов и ответов от членов этого сообщества я довел свой проект почти до конца.
Я прочитал несколько тем, похожих на те, что я спрашиваю, но методы были совершенно другими. Пока ни один код не работал.
В основном (я говорю это, потому что мой код включает в себя прекрасный змееподобный спуск в сложный беспорядок, но соответствующие фрагменты будут выставлены по запросу), моя проблема в том, что я звоню
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
, и он выталкивает мой viewcontroller в симулятор, и NSLogs ищет строку, которая мне нужна, прекрасно изменилась, но это выдвигает пустой вид! Код для этого запуска делает константу контроллера представления постоянной:
UIViewController *viewController = [[xSheetMusicViewController alloc]initWithNibName:nil bundle:nil];
Так я подумал про себя, что я делаю !? Поэтому я вернулся к старому методу, который включал в себя создание UIViewcontroller в операторе if-then, if-else-then, который будет выдвигать различные представления в зависимости от того, были ли выбраны определенные строки (стандартные вещи). Который выдвинул новый вид с моей загруженной строкой отлично, но это только NSLog'ed одна строка снова и снова! И хуже всего было то, что мое приложение вызывало бы либо SIGABRT, либо EXC_BAD_ACCESS, когда я пытался вернуться к контроллеру rootview. (вот соответствующий код):
UIViewController *viewController = [[[UIViewController alloc]init]autorelease];
if (indexPath.row == 0 && indexPath.section == 0) {
appDelegate.baseURL = @"mussette.pdf";
viewcontroller = [[xSheetmusicViewController alloc]initwithnibname:nil bundle:nil];
}
else if (...)
//pushview, changestring, blah blah//
Теперь, я бы предпочел, чтобы мой просмотр выдвигал PDF, как он должен, и имел правильное строковое значение (и не давал мне SIGABRT или EXC_BAD_ACESS, но это дано), но, похоже, компромисс только из моего достичь. Я знаю, что, возможно, я совершаю глупость, которую можно решить одной строкой кода, но сейчас это кажется безнадежным.
Заранее спасибо.
РЕДАКТИРОВАТЬ: Чтобы ответить на все ваши вопросы, да, нет XIB, а скорее
(ID) инициализации
Метод в следующем представлении.
РЕДАКТИРОВАТЬ 2: ответить на запрос lostInTransit и добавить некоторые дополнительные сведения:
<else if (indexPath.row == 1 && indexPath.section == 0) {
appDelegate.baseURL = @"Importing PDF's.pdf";
Кроме того, если это помогает, выходные данные продолжают регистрироваться:
Приложение попыталось выдвинуть ноль контроллера вида на цель.
Когда я пытаюсь выдвинуть представление из ячейки табличного просмотра, и это было сделано раньше, когда он загружал PDF правильно, поэтому я проигнорировал его.