7

我正在关注http://gabriel.github.com/gh-unit/docs/appledoc_include/guide_testing.html的教程。问题是我的项目使用 ARC 而 GHUnit 没有。我处理了以前的错误,但现在我应该做桥接演员,我从未使用过,我迷路了。

NSString *string1 = @"a string";
GHAssertNotNULL(string1, nil); //error here

错误描述:Objective-C 指针类型“NSString *”到 C 指针类型“const void *”的隐式转换需要桥接强制转换。

欢迎任何帮助:)

4

2 回答 2

11

由于您正在比较 NSString,因此您应该使用 GHAssertNotNil 检查。有关更多信息,请参阅Objective-C 中的 NULL vs nil

所以你的例子应该是:

NSString *string1 = @"a string";
GHAssertNotNil(string1, nil);

我还在使用 GHUnit 的 ARC 项目中注意到 GHUnit main.m 文件需要

-fno-objc-arc

之前建议的链接器标志。

于 2012-04-20T15:47:00.393 回答
1

您可以通过进入 Build Phase -> Compile Sources 从项目中的自动引用(ARC)中仅排除 GHUnit 文件

然后双击GHUnit中的文件,会出现一个框,将以下内容粘贴到其中

-fno-objc-arc

这将从自动引用(ARC)中排除来自 GHUnit 的文件。

于 2012-04-03T10:48:07.637 回答