iPhone — я изменил владельца файла XIB, но он продолжает использовать методы в исходном владельце файла

#iphone #interface #xib #builder #viewcontroller

#iPhone #интерфейс #xib #Конструктор #viewcontroller

Вопрос:

Итак…

  1. У меня есть HomeViewController с IBAction doStuff.
  2. У меня есть XIB, у которого есть владелец файла HomeViewController, который содержит кнопку, которая правильно вызывает doStuff;

  3. Затем создал NewViewController, скопировав в него метод doStuff.

  4. Затем в XIB я обновил класс владельца файла до NewViewController, а также удалил и повторно добавил действие к кнопке для doStuff.

НО … кнопка все еще вызывает doStuff из HomeViewController.

Есть ли где-нибудь еще, где мне нужно удалить эту ссылку??

Большое спасибо,

R

Комментарии:

1. Перепроверьте File's Owner и убедитесь, что вы загружаетесь из файла с правильным наконечником

Ответ №1:

Вы уверены, что загружаете файл nib с правильного контроллера? обратите внимание, что «Владелец файла» — это просто заполнитель в файле nib, и он должен быть создан в коде; кроме того, «имя класса» в владельце файла требуется IB только для предоставления ссылок на его IBAction и IBOutlet, но вам нужно убедиться, что вы загружаете его в кодеправильно.

Итак, если в старом коде у вас было что-то вроде:

 
HomeViewController *myController = [[HomeViewController alloc] initWithNibName:nil bundle:nil];
  

вы должны изменить текущий код следующим образом:

 
NewViewController *myController = [[NewViewController alloc] initWithNibName:@"HomeViewController" bundle:nil];
  

в этом случае вы будете продолжать загружать один и тот же файл nib, но все объекты будут разархивированы и назначены правильному владельцу файла, который указан в коде.

Пожалуйста, проверьте этот пункт, если он не работает, тогда опубликуйте свой код.