Использование объекта вместо AppDelegate для розеток и действий?

Во всех примерах MonoTouch, которые я видел, все используют выходы и действия в AppDelegate, но когда я просматривал некоторые веб-трансляции на Objective-C, я видел, как люди используют объект, который они перетаскивают в XIB в Interface Builder, и используют это (кажется намного чище ). Разве нет способа ссылаться на любые объекты, подобные тем, которые мы создаем? Есть ли какой-то особый способ доступа к нему?

Любой совет будет принят во внимание,

Благодарность


person Driss Zouak    schedule 19.02.2011    source источник


Ответы (2)


Что вы можете.

  1. Перетащите объект в xib в Интерфейсном Разработчике.
  2. Установите любой тип имени класса в разделе «Идентификация класса» Identity Inspector.
  3. В разделе «Классы» в библиотеке выберите свой класс и добавьте любые точки доступа, которые вы хотите.
  4. Добавьте объекты пользовательского интерфейса и подключите выходы из экземпляра, который вы добавили в xib, как обычно.
  5. Add your class to MonoDevelop and make it a partial class derived from NSObject.
    • The outlet(s) will be in the generated part of the partial class in the .designer.cs file for the xib
  6. Добавьте любой код в свой класс для взаимодействия с выходами, указывающими на объекты, добавленные в Interface Builder.

Я добавил небольшой образец здесь, который создает класс с именем "SomeClass " который создается через xib вместе с выходом на UILabel, при этом текст для UILabel устанавливается в файле SomeClass, который я добавил в MonoDevelop.

person Mike Bluestein    schedule 20.02.2011
comment
Это было потрясающее прохождение, и я действительно оценил пример кода. Очень ценю! - person Driss Zouak; 21.02.2011
comment
конечно, я тупой, но я не могу найти раздел "Классы" в библиотеке. Я вижу только библиотеку шаблонов файлов, библиотеку фрагментов кода, объекты, библиотеку MEdia :( В итоге я изменил файл xib с помощью текстового редактора, чтобы добавить выход... что я делаю неправильно? - person smnbss; 15.07.2011

Нет другого способа получить доступ к объектам из Interface Builder. Даже этому Объекту потребуется розетка для подключения.

person Dimitris Tavlikos    schedule 19.02.2011