ios – Swift测试无法在Objective-C VC上找到Swift类属性

我可能在这里编译地狱.

我正在Swift中实现一个Snapshot测试,在Objective-C VC上调用一个属性,但是该属性一个用Swift编写的类,桥接.

在MyViewController.h中:

@class TextEntryView;

@interface MyViewController: AbstractTextEntryViewController

@property (nonatomic,strong) TextEntryView *textEntryView;

@end

在TextEntryView.swift中:

@objc(TextEntryView)类TextEntryView:UIView

在我的测试中,我正试图打电话

vc.textEntryView其中vc是MyViewController类型,我收到错误

value of type MyViewController has no member textEntryView

我的桥接头很好看.如果我将Nsstring属性添加到上面的.h文件中,我可以在测试中引用它.此外,当我在测试中命令单击MyViewController时,它会将我带到.h文件而不是该文件的.swift生成版本(这似乎是此问题的症状).

我可能会将Xcode 8推向极限.

解决方法

您需要确保在源文件的顶部导入应用程序以进行测试.例如,如果您的应用程序名为MyApp,请插入测试文件的顶部:
import MyApp

如果我省略了导入,我会得到你所看到的相同行为.此外,只要导入到那里,您就不必为单元测试而烦恼.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...