2015-11-03 62 views
1

參考我有一個泛型類具有以下簽名遇到問題,宣佈對泛型類

class Picker<U: Multipickable>

在另一類,我想創建上述Picker類型的delegate財產。作爲其他課程的一些行動的結果,我想將信息傳遞迴Picker

//in another class 
weak var delegate: Picker! //error 

有2個編譯器錯誤,說明如下:

引用泛型類型Picker要求論點< ...>

weak不能適用於非類類型<<error type>>

有沒有辦法解決這個問題?

回答

0

第一個錯誤說Picker需要參數< ...>。所以,你必須把它在選擇器定義爲< ...類類型>

var delegate: Picker<Multipickable>! 

第二個錯誤是因爲拋出的第一個錯誤,在錯誤的方式你Picker類的使用,它成爲一個<<error type>>,所以你不能weak