#iphone #interface #xib #builder #viewcontroller
#iPhone #интерфейс #xib #Конструктор #viewcontroller
Вопрос:
Итак…
- У меня есть HomeViewController с IBAction doStuff.
-
У меня есть XIB, у которого есть владелец файла HomeViewController, который содержит кнопку, которая правильно вызывает doStuff;
-
Затем создал NewViewController, скопировав в него метод doStuff.
- Затем в 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, но все объекты будут разархивированы и назначены правильному владельцу файла, который указан в коде.
Пожалуйста, проверьте этот пункт, если он не работает, тогда опубликуйте свой код.