2014-01-06 3 views
0

Учебник, который я использую, устарел (до раскадровки). В нем говорится, что initWithNibName вызывается при загрузке приложения. Однако я читал, что это уже не так.Альтернатива initWithNibName

Кроме того, я получаю «Ожидаемый»; после декларации верхнего уровня "для этого

-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 


} 

Это, вероятно, проблема, которая не связана.

+1

Пожалуйста, добавьте код для нас, чтобы помочь вам, и/или лучше объяснить свой вопрос –

+0

Вы должны иметь - перед идентификатором, так это выглядит как «- (ID) initWithNibName ...» – quantumpotato

+0

initWithNibName получает если он вызван для инициализации. Вы можете инициализировать без контроллера представления без наконечника, выполнив MyViewController * vc = [[MyViewController alloc] init]; – quantumpotato

ответ

0

Трудно дать полный ответ без дополнительной информации. Вы правы в том, что initWithNibName не вызывается при использовании раскадровки. Скорее всего, вы можете удалить метод initWithNibName и проигнорировать код в методе initWithNibName учебника, поскольку, скорее всего, он просто инициализирует контроллер вида, используя xib-файл (который вы, вероятно, не используете, поскольку похоже, что вы создали свой проект для использования раскадровки) который был создан в построителе интерфейса.

Возможно, вам будет проще следовать учебнику, если вы просто удалите раскадровку из своего проекта и сделаете это по-старому (используя xib-файлы). Вероятно, это то, что я сделал бы.

Чтобы следить за комментариями, вы можете поместить этот код в viewDidLoad.

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view. 

    questions=[[NSMutableArray alloc] init]; 
    answers=[[NSMutableArray alloc] init]; 
    [questions addObject:@"some question"]; 
    [answers addObject:@"answer1"]; 
} 
+0

Есть ли что-нибудь еще, что изначально вызывается однажды, когда приложение загружается? – Mike

+0

Да, но ... В зависимости от того, что делает учебник в initWithNibName, вам может и не понадобиться. Можете ли вы опубликовать завершенный код initWithNibName учебника? Это поможет совсем немного. – ninefifteen

+0

(id) initWithNibName: (NSString *) nibNameOrNil bundle: (NSBundle *) nibBundleOrNil { self = [super initWithNibName: nibNameOrNil bundle: nibBundleOrNil]; if (self) { вопросов = [[NSMutableArray alloc] init]; ответы = [[NSMutableArray alloc] init]; [вопросы addObject: @ "some question"]; [отвечает addObject: @ "answer1"]; } return self; – Mike

Смежные вопросы