gpt4 book ai didi

objective-c - 如何断言 UILabel.text 属性等于 Objective-C 中 NSString 的实例

转载 作者:行者123 更新时间:2023-12-02 21:53:20 24 4
gpt4 key购买 nike

我是 Objective-C 的新手,我发现我不知道如何正确断言某些给定标签上的文本属性等于原始字符串值。我不确定是否只需要将标签转换为 NSString 或者是否需要直接修改断言语句。

@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

当我修改断言以将原始 NSString 与另一个进行比较时,构建很好,但是当我 try catch 文本值(假设它是 NSString 类型)时,它失败了。任何帮助将不胜感激!

最佳答案

STAssertEquals() 检查所提供的两个值的身份,因此相当于执行以下操作:

 STAssertTrue(@"hehe" == controller.label.text, ...);

相反,您需要 STAssertEqualObjects(),它实际上会运行 isEqual: 检查,如下所示:

 STAssertTrue([@"hehe" isEqual:controller.label.text], ...);

关于objective-c - 如何断言 UILabel.text 属性等于 Objective-C 中 NSString 的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4330873/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com