web-dev-qa-db-fra.com

Comment imprimer quelque chose sur la console sous Xcode?

Comment pouvez-vous imprimer quelque chose sur la console de Xcode, et est-il possible d'afficher la console Xcode à partir de l'application elle-même?

Merci!

45
user3404166

@Logan a mis cela parfaitement. Il est également intéressant de noter que vous pouvez utiliser

printf(whatever you want to print);

Par exemple, si vous imprimiez une chaîne:

printf("hello");
41
stktrc

Comment imprimer:

NSLog(@"Something To Print");

Ou

NSString * someString = @"Something To Print";
NSLog(@"%@", someString);

Pour les autres types de variables, utilisez:

NSLog(@"%@", someObject);
NSLog(@"%i", someInt);
NSLog(@"%f", someFloat);
/// etc...

Pouvez-vous le montrer au téléphone?

Pas par défaut, mais vous pouvez configurer un affichage pour vous montrer.

Mise à jour pour Swift

print("Print this string")
print("Print this \(variable)")
print("Print this ", variable)
print(variable)
51
Logan

3 façons de faire ceci:

En langage C (outil de ligne de commande) fonctionne également avec Objective C:

printf("Hello World");

En objectif C:

NSLog(@"Hello, World!");

En objectif C avec variables:

NSString * myString = @"Hello World";
NSLog(@"%@", myString);

Dans le code avec variables, la variable créée avec class, NSString a été sortie par NSLog. Le% @ représente le texte en tant que variable.

8
Spoof

@Logan l'a dit parfaitement. mais j'aimerais ajouter une alternative ici,

si vous souhaitez afficher les journaux de niquement votre application, vous pouvez créer une méthode personnalisée qui conserve enregistrer le journal dans un fichier dans documents répertoire & vous pouvez ensuite afficher ce fichier journal à partir de votre application.

Une fois que l'application a été publiée et que les utilisateurs la téléchargent, il existe un avantage certain pour les développeurs de l'application. Parce que votre application sera en mesure d'envoyer des journaux et des rapports d'incident aux développeurs (bien sûr avec les autorisations de l'utilisateur du périphérique !!!) et ce sera le moyen d'améliorer votre application.

Faites-moi savoir (Pour les autres SO utilisateurs), s'il existe un autre moyen de faire la même chose. (Par défaut Apple caractéristique ou quelque chose)

Faites-moi savoir si cela vous aide ou si vous voulez plus d'idée.

5
Akshit Zaveri

Vous pouvez également utiliser des points d'arrêt. En supposant que la valeur souhaitée soit définie dans la portée de votre point d'arrêt, vous avez 3 options:

l'imprimer en console en faisant:

po some_paramter

Gardez à l'esprit objectif-c pour les propriétés que vous ne pouvez pas utiliser vous-même.

po _someProperty
po self.someProperty // would not work

po signifie "print object".


[~ # ~] o [~ # ~] r peut simplement utiliser Xcode 'Vues variables'. Voir l'image enter image description here

Je fortement recommande de voir Débogage avec Xcode d'Apple


[~ # ~] o [~ # ~] r juste survolez dans votre code. Comme l'image ci-dessous.

enter image description here

3
Honey

Dans certains environnements, NSLog () ne répondra pas. Mais il existe d'autres moyens d'obtenir une sortie ...

NSString* url = @"someurlstring";
printf("%s", [url UTF8String]);

En utilisant printf avec les paramètres appropriés, nous pouvons afficher les choses de cette façon. C’est le seul moyen que j’ai trouvé de fonctionner sur les environnements de bac à sable en ligne Objective-C.

1
HoldOffHunger