Значение NSString изменено ПОСЛЕ - (id) init - PullRequest
0 голосов
/ 18 сентября 2011

ОК, поэтому мне сказали, что это ужасная идея - отложить часть

-(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.

Кто-нибудь может помочь?

1 Ответ

1 голос
/ 18 сентября 2011

Переместите ваш установочный код из init в отдельный метод, который можно вызвать позже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...