ios - 如何从其子类正确访问父类(super class) View Controller 的 IBOutlet 属性?

标签 ios swift

如何从其子类正确访问父类(super class) View Controller 的 IBOutlet 属性?

我有一个 DetailViewController 和一个 AddViewController,它是 DetailViewController 的子类。在 DetailVC 中,我有一堆 textViews 作为从 Storyboard连接的 IBOutlet 属性。我想在 AddVC 中使用这些 textView,但总是找不到。

// These textViews are connected to storyboard's DetailViewController from DetailViewController
@IBOutlet var textViews: [KMPlaceholderTextView]!


// I'm trying to access those textViews from AddViewController which is a subclass of DetailViewController, but they are nil
class JLAddViewController: JLDetailViewController {
    // MARK: - *****数据源*****
    // 用来接收主控制器搜索框上的单词
    var word:String?

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)

        // 打开每个textView的输入功能
        textViews.forEach {
            $0.isUserInteractionEnabled = true;
            $0.isEditable = true
        }

    }
}

最佳答案

Storyboard中的 View Controller 不是类而是实例。您为 DetailViewController 实例设计的接口(interface)和 socket 属于该实例,而不属于其他某个实例,当然也不属于子类的实例。

关于ios - 如何从其子类正确访问父类(super class) View Controller 的 IBOutlet 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57967133/

相关文章:

ios - CGContextDrawImage 和 swift

iphone - UITableView 部分背景?

ios - xcode 6、启动图像、iOS 7、iPhone 5s iPhone 4s

iOS Swift UIView 动画跳回到开头

ios - 了解 AlamoFire OAuth 示例

ios - 如何附加碰撞的 Sprite ?

ios - 将 url 字符串与 NSString stringWithFormat 一起使用的最佳做法是什么

ios - Safari 阻止 URL 请求凭据,因为它是跨域请求

ios - 约束不重新调整堆栈 View 的大小

ios - 为 iOS 9.0 编译,但模块 'BSGridCollectionViewLayout' 的最低部署目标为 iOS 10.0