以下带有Swift初始化程序的类

  public init(aTracker : SessionTracker , aRater : RatingInfo)
{
    self.tracker = aTracker
    self.rater = aRater
    super.init()
}


Swift桥接标头中不存在该初始化程序,但其他所有方法都存在。因此,我无法从Objective-C实例化此类。

最佳答案

我通过将初始化程序的参数设置为可选参数来解决此问题:

   public init(tracker : SessionTracker? , aRater : RatingInfo?)
    {
        self.tracker = tracker!
        self.rater = aRater!
        super.init()
    }


这是有道理的,因为Objective-C无法确保参数为非零。

10-08 08:26