utilisateurs Salut MonoTouch, j'ai cette situation étrange où j'ai un événement personnalisé déclaré dans un UIView personnalisé comme ceci:événement devient nul dans MonoTouch
public delegate void SelectionChangedHandler(SelectableView selectedView, bool selected);
public event SelectionChangedHandler SelectionChanged;
J'assignez ensuite à ce gestionnaire dans la méthode initialize un viewcontroller comme ceci:
SelectableView s;
...
SelectableView.SelectionChanged += HandleSelectionChanged;
J'ai vérifié et veillé à ce que tous les objets nécessaires existent encore en mémoire et ne sont pas les déchets ramassés.
Je constate que l'événement devient nul entre l'affectation et le dessin. Est-ce que quelqu'un a déjà rencontré ce problème? Ou est-ce que je fais quelque chose de manifestement faux dans mon utilisation des événements dans MonoTouch?
EDIT: Informations supplémentaires - UIView est chargé à partir d'un fichier xib. Je viens d'essayer avec un UIView non chargé depuis un xib et tout fonctionne bien: | Je suis un peu abasourdi.
EDIT 2: Encore plus d'informations: Toutes les propriétés définies sur le UIView chargé de la xib semble devenir nulle aussi bien! Voici le code que j'utilise pour charger le UIView du xib:
var v = new SelectableView(NSBundle.MainBundle.LoadNib("SelectableView", this, null).ValueAt(0));
Je puis définir une propriété sur v:
v.SomeProperty = s;
En temps de rendu SomeProperty est nul.
Vive Naren
Définissez-vous/accédez-vous à la propriété à partir de différents threads? – kwcto