Afficher la valeur d'une propriété de variable dans le débogueur LLDB?
Je suis en utilisant un point d'arrêt avec l'Action "Message de Journal", et je veux imprimer le ligne de un NSIndexPath. J'ai donc essayé: cell row @indexPath.row@
mais rien n'est imprimé. J'ai aussi essayé d'utiliser un débogueur de commande: expr (void)NSLog(@"indexPath row:%i", indexPath.row)
mais j'obtiens une erreur: error: property 'row' not found on object of type 'NSIndexPath *'
Ce que je fais mal?
source d'informationauteur Snowman
Vous devez vous connecter pour publier un commentaire.
La syntaxe à point est juste syntaxique de sucre ajouté par le compilateur. J'ai toujours été en désaccord avec l'ajouter à Objective-C, mais certaines personnes aiment. Ce que vous devez retenir, c'est que ces points sont se converti dans les appels de méthode par le compilateur, de sorte que lorsque vous un message, quelque chose, comme dans le débogueur, vous devez utiliser la méthode d'appel. Essayez de réécrire votre expression:
Je ne suis pas sûr si le débogueur de base de la méthode log qui va exécuter la méthode des appels de ce genre, de sorte que vous pourriez avoir à utiliser le type d'expression.
Je pense que c'est un cas particulier. Le code ci-dessous fonctionne, mais seulement si
row
est initialisé à une valeur.Je pense que cela pourrait être lié au fait que la ligne de propriété est une extension de NSIndexPath dans UIKit et est mis en œuvre comme une catégorie sur cette classe.
Essayer de mettre ce format résumé dans Xcodes vue variable: