2010-05-26 3 views
1

Si j'ai une classe/objet comme celui-ciiPhone SDK. Comment affecter NSString au texte UILabel?

#import <Foundation/Foundation.h> 


@interface anObject : NSObject { 
NSString *aProp; 
} 

@property NSString aProp; 


@end 

et dans la méthode cellForRowAtIndexPath je veux attribuer l'une des valeurs de chaîne de ses propriétés à un UILabel d'un tableviewcell, comment puis-je le faire?

J'ai essayé cela, mais il ne fonctionne pas

[[cell topLabel] setText:(NSString *)anObject.aProp]; 

Mettre un point d'arrêt sur la ligne ci-dessus et l'inspecter, le débogueur dit variable » est pas un CFString

Coulée du bien à un travail ne marche pas CFString Modification de la classe et en déclarant la propriété en tant que travail ne marche pas CFStringRef soit

+0

Pour tout le monde qui continue à vouloir utiliser les propriétés 'retain' avec' NSString', veuillez voir ceci: http://stackoverflow.com/questions/387959/nsstring-property-copy-or-retain –

Répondre

4
cell.textLabel.text = @"Foo"; 
+0

et comment fait @ " Foo "se rapporte à la propriété de mon objet? voulez-vous dire cell.textLabel.text = @ anOject.aProp; ?? – Del

+0

warning: passer l'argument 1 de 'setText:' du type de pointeur incompatible – Del

+0

Cela répond directement à votre question, "je veux assigner une des valeurs de chaîne de ses propriétés à un uilabel d'une tableviewcell, comment faire?" . La partie importante n'est pas le bit '@" Foo "' de droite, c'est le bit 'cell.textLabel.text' de gauche, car * c'est comme ça qu'on change le texte d'un UILabel d'un UITableViewCell *. –

2

Ceci est la bonne façon de déclarer la propriété:

@property (nonatomic, copie) NSString * aProp;

note: le problème était avec votre "NSString aProp" n'étant pas un pointeur. et, oui, comme le suggère la grenouille, la copie est plus appropriée.

+1

-1 pour mentionner la propriété 'NSString' avec' retain', juste après que quelqu'un d'autre l'ait fait. –

+1

aïe! Je suis nouveau, essayant d'aider, et ai tiré quelques choses ensemble. C'est la réponse, pas répartie entre 3 réponses ... merci pour le soutien – eric

+3

OH ... ET ... Je dois ajouter, Si je pouvais vous donner un -1, je le ferais! Non seulement vous n'avez pas pris la peine de répondre à la question, mais vous avez manqué de rigueur et vous avez complètement raté son erreur. conserver vs copier n'était pas en cause, le "*" manquant était! Est-ce que quelqu'un s'il vous plaît me dire que ce n'est pas indicatif de stackoverflow? Si c'est le cas, je partirai maintenant. – eric

Questions connexes