代码之家  ›  专栏  ›  技术社区  ›  d11wtq Vadim Baryshev

cli和gui之间的nsinteger差异?

  •  1
  • d11wtq Vadim Baryshev  · 技术社区  · 15 年前

    我一直在构建一个框架,并在GHUnit中编写单元测试。我的框架的一个访问器方法返回一个nsinteger。

    我在这样的测试中断言期望值:

    GHAssertEquals(1320, request.port, @"Port number should be 1320");
    

    使用基于AppKit UI的前端运行测试时,此断言通过。

    但是,当我在命令行上运行测试时,它会失败,因为类型不匹配,除非我将硬编码的1320强制转换为 (NSInteger) . 编译器解释整数的方式有什么不同?对于硬编码整数,xcodebuild是否在命令行上使用不同的数据类型?

    1 回复  |  直到 15 年前
        1
  •  2
  •   kevingessner    15 年前

    您是否为不同的体系结构构建应用程序(可能是因为一个体系结构是通用的,另一个是为一个体系结构构建的)?nsinteger构建为32位或64位,具体取决于目标体系结构( src ,这可能与编译器为小常量选择的不同。演员阵容肯定让你的意图变得清晰。