ОК, поэтому мне сказали, что это ужасная идея - отложить часть
-(id)init
моего кода, но, к сожалению, это NSLogging NULL-значение до того, как строка успеет зарегистрировать изменение.
Вот мой код для идентификатора init
- (id)init {
if (self = [super init]) {
CFStringRef aCFString = (CFStringRef)[appDelegate baseURL];
CFURLRef pdfURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), aCFString, NULL, NULL);
pdf = CGPDFDocumentCreateWithURL((CFURLRef)pdfURL);
NSLog(@"xSheetMusicViewController - %@",appDelegate.baseURL);
CFRelease(pdfURL);
}
return self;
}
и вот консольный вывод:
2011-09-18 09:52:22.275 SheetMuse[57499:b603] value - (null)
failed to find PDF header: `%PDF' not found.
2011-09-18 09:52:24.575 SheetMuse[57499:b603] xSheetMusicViewController - (null)
2011-09-18 09:52:24.581 SheetMuse[57499:b603] Application tried to push a nil view controller on target <UINavigationController: 0x4e5a910>.
2011-09-18 09:52:24.624 SheetMuse[57499:b603] value - mussette.pdf
2011-09-18 09:52:24.627 SheetMuse[57499:b603] Application tried to push a nil view controller on target <UINavigationController: 0x4cc1ba0>.
2011-09-18 09:52:24.628 SheetMuse[57499:b603] value - mussette.pdf
Исходное значение NULL было отзапуск приложения, когда оно должно быть нулевым (в конце концов, зачем мне нужна строка при запуске?), но затем упоминается, что «не удалось найти заголовок PDF», что является для меня совершенно новым.затем xSheetMusicViewController пытается получить строковое значение, но оно все еще равно нулю с момента запуска.Затем значение обновляется с помощью метода
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
, что означает, что каким-то образом мне нужно либо отложить метод init (- id) init, либо найти более быстрый способ обновления значения строки перед init.
Кто-нибудь может помочь?