在Objective-C中包含Swift文件

bde*_*dev 3 objective-c ios swift xcode6 ios8

我试图在一个Objective-c项目中加入一个快速的类.swift类继承自UIView,看起来像这样:

class BVDTestView: UIView {
...
}
Run Code Online (Sandbox Code Playgroud)

请注意,我不包括@objc因为swift类继承自UIView.在objective-c实现文件中,我导入了伞形swift头:

#import "TestApp-Swift.h"
Run Code Online (Sandbox Code Playgroud)

我看到这个文件是在我构建时创建的,但是我没有看到任何引用BVDTestView(我会认为我会).当我尝试创建swift视图的实例时,我收到错误:

BVDTestView *view = [BVDTestView new];
Run Code Online (Sandbox Code Playgroud)

使用未声明的标识符'view'

有什么想法吗?我在Xcode 6 beta 4上.

jtb*_*des 6

我最近碰到了这个.从Beta 4开始,Swift有访问说明符,和

默认情况下,所有实体都有权internal访问.

您需要明确标记该类public class BVDTestView ...,使其出现在生成的标头中.