Подключение владельца файла к делегату приложения - PullRequest
2 голосов
/ 30 мая 2011

В какой-то момент я по какой-то причине удалил объект из файла appdelegate из XIB.Я добавил новый объект и выбрал MyAppNameDelegate в качестве класса.Тем не менее, он не связан с владельцем файла, и я, кажется, не получаю опцию при нажатии и перетаскивании правой кнопкой мыши.Я думаю, что это вызывает у меня некоторые проблемы во время выполнения.Есть идеи?

Ответы [ 3 ]

5 голосов
/ 30 мая 2011

Если вы ссылаетесь на MainMenu, владельцем файла является объект типа NSApplication.

В IB вы должны выбрать владельца файла, получить доступ к его выходу «делегат» и перетащить его (какнарисуйте линию) вашему делегату приложения.Это восстановит соединение.

Проверьте также, что у владельца вашего файла есть тип класса NSApplication.Может быть, это как-то изменилось.

4 голосов
/ 02 марта 2012

У меня была такая же проблема. Я нашел много полуответов в разных темах, поэтому решил собрать их здесь.

  1. Перетащите экземпляр NSObject из палитры «Объекты» в область под «Объектами», где перечислены объекты для вашего xib (щелкните треугольник в левом нижнем углу, если вы его не видите) для MainWindow.xib. Объект должен отображаться в виде сплошной оранжевой рамки.
  2. Выберите этот вновь созданный объект NSObject и измените его класс на имя вашего нового делегата приложения (независимо от имени файла без .h или .m), используя Identity Inspector. Это должна быть опция во всплывающем списке.
  3. Удерживая клавишу «Control», перетащите от Владельца файла к новому объекту, который не должен отображаться как «Делегат приложения», и выберите делегат.
  4. Вам также, вероятно, придется заново подключить Окно (и, возможно, другие виды) к новому делегату. Сделайте это путем перетаскивания из Делегата приложения в Окно и выбора окна.

Надеюсь, это поможет.

1 голос
/ 05 августа 2011

Это также сводило меня с ума.

Я пометил +1 выше, ответ на самом деле помогает, ответ загадочный, так что это поможет объяснить в мельчайших деталях, как получить делегат или другое соединение, которое не будет связываться напрямую с файлом с помощью «Ассистента». Редактор "view.

правый клик = клавиша управления + левый клик.!

IN XCode 4. Выберите любой из ваших файлов XIB. Скажем, для UIScrollView, который вы добавили, вы хотите установить делегат для него. В отличие от предыдущего IB, где вы просто открываете инспектор соединений и перетаскиваете соединение в файл. На самом деле здесь то же самое. НО разница.

(ПРИМЕЧАНИЕ: док-станция слева от панели 2. Только с открытым XIB) Откройте док> http://developer.apple.com/LIBRARY/IOS/#documentation/ToolsLanguages/Conceptual/Xcode4UserGuide/InterfaceBuilder/InterfaceBuilder.html

Внизу дока есть маленькая треугольная стрелка.

В самом верху дока находится "Владелец файлов", а без открытого дока это белая коробка с оранжевой отделкой.

Выберите представление или то, что когда-либо нуждается в делегированном доступе к файлу (UISegmentControl заставил меня тоже сойти с ума), щелкните правой кнопкой мыши и перетащите соединение на «Новый источник ссылок» в Docks «Владелец файлов», и появится список до.

Точно так же вы можете щелкнуть правой кнопкой мыши на «Владельце файлов» и легко удалить там подключения или создать новые. Dock Opened and Connecting the Delegate for UIScrollView

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