selectionIndex J'utilise KVO pour obtenir la notification des changements à selectionIndexdictionnaire Changement de KVO contient toujours NULL pour
[contoller addObserver:self forKeyPath:@"selectionIndex" options:NSKeyValueObservingOptionNew context:NULL];
de NSArrayController et quand je mets la sélection à l'aide setSelectedObjects: j'averti de selectionIndex changer que je pense . Toutefois, lorsque j'essaie d'obtenir NSKeyValueChangeNewKey à partir du dictionnaire de modification, il renvoie toujours NULL.
Impression des spectacles dictionnaire:
{ type = 1; nouveau = ""; }
Est-ce parce que la valeur de selectionIndex est un NSUInteger et ne peut pas être mis dans un dictionnaire ou que je fais quelque chose de mal?
Ce n'est pas un problème pour moi car je peux obtenir le selectionIndex du contrôleur par d'autres moyens lorsque je reçois cette notification, je voudrais juste savoir pourquoi il ne fait pas ce que je m'attendais.
Je ne pense pas qu'il y ait quoi que ce soit avec todo selectionIndex être un NSUInteger - Je pense qu'il est tout simplement pas pris en charge. Désolé, je ne trouve aucun détail. – hooleyhoop
De manière générale, les notifications KVO pour les propriétés avec des types scalaires doivent être prises en charge. Si vous attendez un NSUInteger, vous obtiendrez un NSNumber, et pour les structures, vous attendez un NSValue. Je m'attendrais à ce que cela fonctionne, et je suis tout aussi perplexe que ce n'est pas le cas, mais la solution de contournement est assez simple: Traitez le rappel comme une notification sans état et relisez simplement la valeur vous-même. – ipmcc