web-dev-qa-db-fra.com

Que signifie "mode invalide 'kCFRunLoopCommonModes' ..."?

Environnement: Version 11.0 beta 3 (11M362v)

Voici le texte intégral:

invalid mode 'kCFRunLoopCommonModes' provided to CFRunLoopRunSpecific - break on _CFRunLoopError_RunCalledWithInvalidMode to debug. 
This message will only appear once per execution.
Hello World

Ce message n'apparaît que lorsque je clique sur un bouton UISwitch connecté à une action; ici, en imprimant "Hello World".

Apparemment, le comportement de l'action n'est pas affecté.

enter image description here

À titre de comparaison, j'ai créé un UIBarButtonItem dans la barre d'outils qui se comporte normalement. Il y a donc quelque chose de louche dans le bouton interrupteur.

Question: pourquoi cela apparaîtrait et qu'est-ce que cela signifie? Remède?

46
Frederick C. Lee

J'ai eu un problème similaire: lorsque j'ai reçu le rappel de l'UISwitch, j'ai rechargé l'UITableView. Je pense que le rappel est initié avant que l'UISwitch ait fini de changer son contexte, et le rechargement de la cellule dans cet état crée un conflit.

Avec cette théorie, j'ai résolu mon problème comme suit: j'ai séparé les cellules en sections, où la cellule avec le commutateur UIS était dans sa propre section. Quand j'ai reçu le rappel de l'UISwitch, j'ai rechargé toutes les sections sauf la section qui a la cellule avec l'UISwitch.

2
Shai Balassiano