首页 > 解决方案 > 如何在 Swift 子类中引用目标 c 实例变量?

问题描述

我有一个扩展目标 c 类的层次结构。
然后我创建了一个扩展目标 c 类的 swift 类。
在桥接头文件中,我添加了父类(它是 Objective c)。所以继承没问题,但我无法访问超类属性。

@interface ObjectivecViewController : ExtendedUIViewController
 {   
     IBOutlet UIView *view1;
 }
//----------------------------------------
import Foundation
import UIKit

class SwiftViewController : ObjectivecViewController {

    override func viewDidLoad() {
        view1 -----> I cannot access view1 here. but if the class was objective c I could.

    }
} 

我可以访问超类属性,但是当我将其定义为实例变量时,我无法访问它

我什至将 view1 更改为受保护的变量,但我仍然无法引用它

标签: objective-cswift

解决方案


只有 Objective C 属性被导出到 Swift。实例变量对 Swift 是不可见的。

请参阅:从 Swift 类访问 Objective-c 基类的实例变量


推荐阅读