目的:製作一個通用的ViewController和TableViewController,它們可以從現有的故事板中返回自己,並且可以由其他視圖控制器進行子類化,並允許它們使用此功能。Swift中的自我複製
class GenericTableViewController: UITableViewController
{
//MARK: Storyboard
class func storyboardName() -> String
{
return ""
}
class func storyboardIdentifier() -> String
{
return ""
}
class func existingStoryboardControllerTemplate() -> Self
{
return UIStoryboard.storyboardWithName(storyboardName()).instantiateViewControllerWithIdentifier(storyboardIdentifier()) as! Self
}
}
的問題是..編譯器迫使我自我改變這種「GenericTableViewController」如果我改變它...它抱怨,我再也不能回到「自我」。
有什麼可以解決這個問題嗎?
在一個類型方法中Self指的是類型,但是你返回一個實例並試圖將它轉換爲一個類型。 – Andrea
看看http://stackoverflow.com/questions/25645090/protocol-func-returning-self# – ABakerSmith
我看了,但對我來說有點困惑.. - >我無法理解如何適應它的方式。 – Fawkes