2016-10-21 28 views
0

繼承我想創建watchOS 3要創建一個自定義類XY,從A類和Protocoll

AVAudioInputNode如果我在JumpToDefinition點擊AVAudioInputNode,我看到:

open class AVAudioInputNode : AVAudioIONode, AVAudioMixing { 
} 

爲什麼我無法創建具有相同樣式的自定義類?

我的班級:

open class xy : AVAudioIONode, AVAudioMixing { 
} 

的錯誤是

XY型不符合協議 「AvAudioMixing」 和 「AVAudioStereoMixing」

回答

0

這意味着你需要符合對於這兩種協議,這意味着您需要應用這些協議要求的特定功能或屬性。

例如,對於使用2個協議的UIViewController類的表視圖:UITablewViewDelegate,UITableViewDataSource。爲了符合這些協議,您需要使用這些功能。

func tableView(_ tableView: UITableView, numberOfRowsInSection: Int) -> int { 
return 1 
} 
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell = tablewView.dequehueReusableCell(withIdentifier: "weatherCell", for: indexPath) 
    return cell 
} 

還可以指派其委託和數據來源:

tableView.delegate = self 
tableView.dataSource = self 

在那些2個協議AVAudioIONode的具體情況,AVAudioMixing你應該尋找哪些是你需要符合所要求的功能。

0

考慮:

class XY : AVAudioIONode, AVAudioMixing { ... } 

這意味着,

  • 你繼承AVAudioIONode,而且還

  • ,你要符合AVAudioMixing協議(即您將執行必要的AVAudioMixing方法/屬性)以及AVAudioMixing繼承(例如AVAudioStereoMixing)。

所以,你的錯誤是告訴你,當你宣佈你的類將符合AVAudioMixing(因此AVAudioStereoMixing,太),你還沒有實現必要的方法和屬性。編譯器只是警告你,你還沒有完成實施XY爲了順利符合這些協議。

相關問題