Nat*_*olz 5 c xcode objective-c clang ios
我正在一个现有的大型Objective-c代码库中工作,目前正在编写单元测试.该项目广泛使用实例变量.
我写了一个方法来抓住伊娃的东西.它在同一个项目中的另一个单元测试中工作,但在这种情况下不起作用.
码:
-(id)getObjectForIvarNamed:(NSString *)ivarNameString
{
const char *ivarName = [ivarNameString UTF8String];
Ivar ivarValue = class_getInstanceVariable([textFieldOverlay class], ivarName);
id objectAtIvar = object_getIvar(textFieldOverlay, ivarValue);
return objectAtIvar;
}
Run Code Online (Sandbox Code Playgroud)
编译器在从Ivar ivarValue以下错误开始的行处抱怨:
"Declaration of 'Ivar' must be imported from module 'ObjectiveC.runtime' before it is required"
对此错误代码的网络搜索会出现零点击.不知道为什么它在另一个文件中工作,两个XCUnitTest类之间的标题看起来都一样.
Nat*_*olz 13
永远不会失败,一旦我输入问题就找到答案.但是,我还没有发布.因为在网络搜索中找不到这个错误,我想我应该发布它,所以那里有一个实例.项目的类我在工作测试类中测试导入了objective-c运行时头,我想在输入问题后检查测试类.我认为这是一个标题问题,但在导入的类中没有看到它.学习时刻.
要导入objective-c运行时标头并根除此警告,请添加#import <objc/runtime.h>到标头.做完了.
| 归档时间: |
|
| 查看次数: |
2447 次 |
| 最近记录: |