【问题标题】:swift: How to call overrided init method of objective-C class from swift class?swift:如何从swift类调用objective-C类的重写init方法?
【发布时间】:2015-03-28 05:00:48
【问题描述】:

这是 YouTubeHelper 类中的 Objective C 方法,

- (id)initWithDelegate:(id <YouTubeHelperDelegate>)delegate {
    self = [super init];

    self.delegate = delegate;
    [self initYoutubeService];

    return self;
}

我想在 swift 课上调用它,

override init() {
        self.youTubeHelper = YouTubeHelper()
        }

我该怎么做?

【问题讨论】:

标签: ios objective-c xcode swift


【解决方案1】:

它可能是(如果委托是自己):

self.youTubeHelper = YouTubeHelper(delegate:self)

【讨论】:

  • 它给出错误“self used before super.init call”当我在 self.youTubeHelper = YouTubeHelper(delegate:self) 之前添加 super.init() 时,我得到错误“self.youTbeHelper 未初始化在 super.init 调用”。
  • 带有 init() 的 Swift 代码是 YouTubeHelper Objective-C 类的子类吗?如果不是,为什么它是一个覆盖?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多