2015-11-05 59 views
0

下面的类与夫特初始化init方法没有显示在夫特桥接报头

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

此初始化是不存在在夫特桥接报头,但所有的其他方法都存在。所以我不能从Objective-C实例化这个类。

回答

1

我固定这通过使初始自选的参数:

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

这是有意义的作为目标C不能确保PARAMS是非为零。

+0

你也应该能够使参数Unwrapped Optionals,所以你不必把!分配时。 – Arbitur

+0

原因在于,从Obj-C开始,所有对象都是可选的,而Swift将它们分开。如果您的问题的版本可以从Obj-C获得,那么Obj-C方法可以成功地传递null,最后为您添加一个非可选的包含nil的所有后续问题。 –