Domanda

Quando è esattamente l'attributo Register richiesto in un app Xamarin.ios?

Ho trovato un post esistente che dà qualche spiegazione di ciò che fa, ma io "m non chiaro quando è necessario.

Ho scritto un'app piuttosto ampia senza essere costretta a utilizzare Register su una qualsiasi delle mie sottoclassi UIViewController o UIView.

Nel mio caso, sto facendo tutto il mio layout dal codice C #, quindi non si trova alcun file xib.Sembra uno dei casi di utilizzo per Register è interagire con le viste create in Interface Builder.

Qualcuno può far luce su questo?

È stato utile?

Soluzione

In qualsiasi momento Objectivec Runtime ha bisogno di creare un'istanza del tipo gestito, dovrà essere registrata.Se crei le viste personalizzate e i controller dal codice non hai molto, se ne è necessario utilizzarlo.Se si prevede di creare qualsiasi controllo dell'interfaccia utente riutilizzabile, è necessario registrarli in modo che qualcuno utilizzando gli editor di layout possa usarli.Diciamo di creare un UIView personalizzato chiamato myview e registrarlo, è possibile trascinare un controllo UIView in un controller di visualizzazione in XCode e modificarne il tipo su MyView invece di UIView.Non renderà ancora in Editor Xcode, ma verrà creato come myview in fase di esecuzione, altrimenti verrebbe creata come UIView.

Altri suggerimenti

Qualsiasi oggetto che deriva da Nsobject verrà automaticamente esportato in Obiettivo-C, tecnicamente non è necessaria l'attributo [Register].

Tuttavia l'attributo è utile quando si desidera che il nome dell'obiettivo-c sia diverso dal valore predefinito:

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

Ciò registrerebbe il tipo MyCustomObject gestito con Objective-C usando MyObject come nome nativo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top