2015-11-05 43 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的所有後續問題。 –