Когда требуется атрибут Register в приложениях Xamarin.iOS?

StackOverflow https://stackoverflow.com//questions/24002033

  •  20-12-2019
  •  | 
  •  

Вопрос

Когда именно состоится Register атрибут, необходимый в приложении Xamarin.iOS?

Я нашел существующая должность это дает некоторое объяснение того, что он делает, но я не совсем понимаю, когда это необходимо.

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

В моем случае я делаю весь свой макет из кода на C#, так что нет xib файлы, которые необходимо найти.Это звучит как один из вариантов использования для Register взаимодействует с представлениями, созданными в Interface Builder.

Кто-нибудь может пролить немного света на это?

Это было полезно?

Решение

Всякий раз, когда среде выполнения ObjectiveC потребуется создать экземпляр управляемого типа, его необходимо будет зарегистрировать.Если вы создаете свои пользовательские представления и контроллеры из кода, у вас не так много необходимости в их использовании, если таковая вообще имеется.Если вы планируете создавать какие-либо повторно используемые элементы пользовательского интерфейса, вам следует зарегистрировать их, чтобы кто-то, использующий редакторы макетов, мог их использовать.Допустим, вы создаете пользовательский UIView с именем MyView и регистрируете его, вы можете перетащить элемент управления UIView в контроллер представления в XCode и изменить его тип на MyView вместо UIView.Он по-прежнему не будет отображаться в редакторе XCode, но он будет создан как MyView во время выполнения, в противном случае он был бы создан как UIView.

Другие советы

Любой объект, производный от NSObject, будет автоматически экспортирован в Objective-C, технически нет необходимости в атрибуте [Register].

Однако этот атрибут полезен, если вы хотите, чтобы имя Objective-C отличалось от значения по умолчанию:

[Register ("MyObject")]
class MyCustomObject : NSObject
{
}

Это позволило бы зарегистрировать управляемый MyCustomObject введите с помощью Objective-C, используя MyObject как родное название.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top