为什么将NSString对象传递给XCTAssertTrue的“ format”参数会导致生成错误?

akivajgordon

在尝试使用XCTest测试我的应用程序时,执行以下操作时出现构建错误:

#import <XCTest/XCTest.h>

@interface MyTests : XCTestCase

@end

@implementation MyTests

- (void)testExample
{
    NSString *str = @"foo";
    XCTAssertTrue(YES, str); // Parse issue: Expected ')'
}

@end

但是如果执行此操作,则不会出现构建错误:

#import <XCTest/XCTest.h>

@interface MyTests : XCTestCase

@end

@implementation MyTests

- (void)testExample
{
    XCTAssertTrue(YES, @"foo"); // this is just fine...
}

@end

我得到的生成错误是:

Parse issue: Expected ')' 

然后在“ str”中的“ s”下方放一个箭头。

我发现我可以通过改变来补救

XCTAssertTrue(YES, str)

XCTAssertTrue(YES, @"%@", str)

但是我无法弄清楚为什么会有所不同。有人可以解释为什么会这样吗?

伊泰·费伯

XCT...宏被写入接受格式字符串-字符串本身是可选的(这样写XCTAssertTrue(YES)是有效的),但必须是常量字符串。无需格式字符串,这就是为什么你不能传递对象到宏观XCTAssertTrue(YES, @"%@", str)的作品,但是,说,XCTAssertTrue(YES, str)还是XCTAssertTrue(NO, nil)不会。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么将Float4对象传递给RenderScript内核会产生错误?

来自分类Dev

在Bjarne的示例中,为什么可以将const限定对象传递给非const参数?

来自分类Dev

将复杂对象传递给ui-sref参数

来自分类Dev

将Groovy对象传递给活动选择参数

来自分类Dev

将参数作为JSON对象传递给WebMethod

来自分类Dev

将 JSON 对象传递给 jq 参数

来自分类Dev

为什么将这样的对象实例传递给UI线程会导致延迟/挂断?

来自分类Dev

无法按值将接口类型为'NSString'的对象传递给可变参数函数;格式字符串的预期类型为“ id”

来自分类Dev

将对象传递给jQuery .each()(而不是函数)会导致错误

来自分类Dev

将对象传递给 QT 中的函数会导致分段错误

来自分类Dev

为什么将额外的参数传递给C函数不会导致编译时错误?

来自分类Dev

将函数返回值传递给参考参数会导致GCC中的编译错误

来自分类Dev

通过Scheme中的if语句传递参数会导致错误

来自分类Dev

将datetime对象传递给str.format()时出现意外结果

来自分类Dev

将ninject绑定对象传递给必须具有0参数的构造函数的类

来自分类Dev

将JSON对象传递给CLI上的保护程序参数

来自分类Dev

如何通过翻新将Map <String,String>参数或对象传递给POST请求?

来自分类Dev

将_bstr_t对象传递给以BSTR作为参数的函数是否安全?

来自分类Dev

将JSON对象传递给CLI上的保护程序参数

来自分类Dev

将ninject绑定对象传递给必须具有0参数的构造函数的类

来自分类Dev

如何将错误对象传递给socket.io回调

来自分类Dev

将jsp模型对象传递给angular创建解析错误

来自分类Dev

为什么将“ Self”用作参数类型会导致生命周期错误?

来自分类Dev

为什么会导致错误?

来自分类Dev

为什么Task对象不使用传递给它的参数?

来自分类Dev

尝试将对象传递给类会导致未设置变量

来自分类Dev

参数对象传递给函数后变为null

来自分类Dev

将对象传递给 Datagrid 命令参数

来自分类Dev

为什么在传递给函数后访问指针会导致分段错误?

Related 相关文章

  1. 1

    为什么将Float4对象传递给RenderScript内核会产生错误?

  2. 2

    在Bjarne的示例中,为什么可以将const限定对象传递给非const参数?

  3. 3

    将复杂对象传递给ui-sref参数

  4. 4

    将Groovy对象传递给活动选择参数

  5. 5

    将参数作为JSON对象传递给WebMethod

  6. 6

    将 JSON 对象传递给 jq 参数

  7. 7

    为什么将这样的对象实例传递给UI线程会导致延迟/挂断?

  8. 8

    无法按值将接口类型为'NSString'的对象传递给可变参数函数;格式字符串的预期类型为“ id”

  9. 9

    将对象传递给jQuery .each()(而不是函数)会导致错误

  10. 10

    将对象传递给 QT 中的函数会导致分段错误

  11. 11

    为什么将额外的参数传递给C函数不会导致编译时错误?

  12. 12

    将函数返回值传递给参考参数会导致GCC中的编译错误

  13. 13

    通过Scheme中的if语句传递参数会导致错误

  14. 14

    将datetime对象传递给str.format()时出现意外结果

  15. 15

    将ninject绑定对象传递给必须具有0参数的构造函数的类

  16. 16

    将JSON对象传递给CLI上的保护程序参数

  17. 17

    如何通过翻新将Map <String,String>参数或对象传递给POST请求?

  18. 18

    将_bstr_t对象传递给以BSTR作为参数的函数是否安全?

  19. 19

    将JSON对象传递给CLI上的保护程序参数

  20. 20

    将ninject绑定对象传递给必须具有0参数的构造函数的类

  21. 21

    如何将错误对象传递给socket.io回调

  22. 22

    将jsp模型对象传递给angular创建解析错误

  23. 23

    为什么将“ Self”用作参数类型会导致生命周期错误?

  24. 24

    为什么会导致错误?

  25. 25

    为什么Task对象不使用传递给它的参数?

  26. 26

    尝试将对象传递给类会导致未设置变量

  27. 27

    参数对象传递给函数后变为null

  28. 28

    将对象传递给 Datagrid 命令参数

  29. 29

    为什么在传递给函数后访问指针会导致分段错误?

热门标签

归档