Я новичок в объектно-c, и я обнаружил, что не знаю, как правильно утверждать, что свойство text на определенная метка равна исходному строковому значению. Я не уверен, что мне нужно просто нарисовать метку как NSString или мне нужно напрямую изменить инструкцию assert.Как утверждать свойство UILabel.text равно экземпляру NSString в объекте-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
Реализация моего метода doMagic ниже
@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
Сборки хорошо, когда я изменить Assert для сравнения необработанного NSString к другому, но когда я пытаюсь захватить текстовое значение (если это типа NSString), он терпит неудачу. Любая помощь приветствуется!
Примечание: в то время как конечный результат одинаков, идиоматически яснее вызывать ваш метод как `[controller doMagic]`. – 2010-12-07 07:05:06