Je suis nouveau à l'objectif-c et je trouve que je ne sais pas comment affirmer correctement qu'une propriété de texte sur une étiquette donnée est égale à une valeur de chaîne brute. Je ne suis pas sûr si j'ai juste besoin de cast l'étiquette comme NSString ou si j'ai besoin de modifier ma déclaration d'assertion directement.Comment faire pour affirmer une propriété UILabel.text est égale à une instance de NSString dans l'objectif-c
@interface MoreTest : SenTestCase {
MagiczzTestingViewController* controller;
}
- (void) testObj;
@end
@implementation MoreTest
- (void) setUp
{
controller = [[MagiczzTestingViewController alloc] init];
}
- (void) tearDown
{
[controller release];
}
- (void) testObj
{
controller.doMagic;
STAssertEquals(@"hehe", controller.label.text, @"should be hehe, was %d instead", valtxt);
}
@end
La mise en œuvre de ma méthode doMagic est inférieure à
@interface MagiczzTestingViewController : UIViewController {
IBOutlet UILabel *label;
}
@property (nonatomic, retain) UILabel *label;
- (void) doMagic;
@end
@implementation MagiczzTestingViewController
@synthesize label;
- (void) doMagic
{
label.text = @"hehe";
}
- (void)dealloc {
[label release];
[super dealloc];
}
@end
La construction est bien quand je modifie la assert de comparer une NSString première à un autre, mais lorsque je tente de saisir la valeur de texte (en supposant qu'il est de type NSString) échoue. Toute aide serait très appréciée!
Remarque: Bien que le résultat final soit le même, il est plus clair d'appeler votre méthode en tant que '[controller doMagic]'. –