ARC, актерский состав и GHUnit - PullRequest
       48

ARC, актерский состав и GHUnit

7 голосов
/ 03 апреля 2012

Я следую учебнику от 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 *' требуется мостовое приведение.

Любая помощь приветствуется:)

Ответы [ 2 ]

11 голосов
/ 20 апреля 2012

Поскольку вы сравниваете строку NSString, вы должны использовать проверку GHAssertNotNil. См. NULL против nil в Objective-C для получения дополнительной информации.

Итак, ваш пример должен выглядеть так:

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

Я также заметил, что в моих проектах ARC, использующих GHUnit, для файла main.m GHUnit требуется

-fno-objc-arc

флаг компоновщика, как было предложено ранее.

1 голос
/ 03 апреля 2012

Вы можете исключить только файлы GHUnit из автоматической ссылки (ARC) из своего проекта, перейдя в Build Phase -> Compile Sources

, а затем дважды щелкнув по файлам из GHUnit, появится окно, вставьте следующеев него

-fno-objc-arc

Это исключит файлы из GHUnit из автоматической ссылки (ARC).

...