2010-05-14 4 views
2

Comment puis-je convertir l'objet d'un NSNotification en entier et en chaîne? Lorsque je consigne la notification dans la console, j'obtiens ...Valeur d'incantation de l'objet NSNotification

NSConcreteNotification 0x20af70 {name = kMessageCountNotification; objet = 1}

Mais quand je mets la valeur de texte d'une UILabel à cette valeur, je reçois 72855952

+1

Qu'essayez-vous exactement de faire ou que devez-vous faire? Pouvez-vous montrer du code? – DyingCactus

+0

[self.tabBarItem setBadgeValue: [NSString stringWithFormat: @ "% d", note.objet]]; note est un NSNotification –

Répondre

3

Documentation de classe qui a envoyé cette notification doit contenir des informations ce type de notification est-ce et quel est envoie son objet.

Vous pouvez accéder à l'objet envoyé en utilisant la méthode object:

ClassOfObjectSent *obj = [notification_you_have_received object]; 

Notez qu'il est un pointeur vers un objet, pas une valeur scalaire. Si l'objet est NSNumber, vous pouvez obtenir int cette façon:

int i = [obj intValue]; 

Si c'est un NSString vous pouvez l'utiliser directement ou - plus sûr - créez votre propre copie (si vous utilisez Cocoa Touch ou construire application non-GC Mac, vous devrez release la copie).

NSString *txt = [obj copy]; 
+0

Vous devrez également 'libérer 'la copie si vous ciblez un système sans garbage collection, ou la construction d'une extension d'application qui prend en charge mais ne nécessite pas de garbage collection. – dreamlax

Questions connexes