在Swift中导入Swift框架:"使用未声明的类型'MyCustomView'"

Jee*_*hut 30 frameworks ios swift

我有,我加入了一个框架目标具有自定义子类迅捷的项目UIView,所以我可以在Xcode 6.用Interface Builder中新的实时取景但是当我尝试添加@IBOutlet在我的UIViewController子类的项目中,我得到一个"的使用未声明的类型'MyCustomView'"错误,我无法构建我的项目.

这是来自UIViewController子类的代码:

import UIKit
import MyCustomFramework


class MyViewController: UIViewController {

    @IBOutlet var myCustomView: MyCustomView?

}
Run Code Online (Sandbox Code Playgroud)

这就是'MyCustomFramework'目标中的'MyCustomView.swift':

import UIKit

@IBDesignable class MyCustomView: UIView {

    @IBOutlet var imageView: UIImageView?

    init(coder aDecoder: NSCoder!) {
        super.init(coder: aDecoder)
    }
}
Run Code Online (Sandbox Code Playgroud)

谁知道我忘记了什么?我是以错误的方式导入的吗?我错过了什么?

Ani*_*ese 36

您应该将该类标记为,public因为它是不同框架模块的一部分

@IBDesignable public class MyCustomView: UIView {

}
Run Code Online (Sandbox Code Playgroud)

默认情况下,类和方法将处于internal访问级别.如果您想使用该目标的那一侧,则应将其标记为公开.然后只有它将成为公共接口的一部分(对目标外部可见)

  • 嗯,我一定是做错了. (4认同)