2016-10-21 27 views
0

我有一個瞭解iOS控制器業務邏輯的設計問題,控制器業務邏輯設計的iOS

時,我有一個的viewController它可以爲多個頁面被重用,而一些不同的元素,例如像navigationItem標題,API調用,不同細胞高度或類型,什麼是一個正確的方法來做到這一點?

我現在正在做的就是添加枚舉它,像

enum(controllerType) { 
    typeA 
    typeB 
} 

和每個方法需要配置不同的元素,我做這樣的事情

switch type { 
    case typeA: 
    //Changes for type A 
    case typeB: 
    //Changes for type B 
} 

專有時一個tableViewController,需要添加配置另一種類型的單元格,所以tableView委託和dataSource將有一個沉重的業務邏輯

輕微優化lik e將另一個文件或類別/擴展中的委託/數據源分開,將業務邏輯分成另一種類型的文件,比如'viewModel',並在viewModel中使用方法而不是viewController中的重邏輯,但它仍然在viewModel中有很大的方法,設計重用控制器的正確方法是什麼?

回答

0

您可以設置來自哪個控制器的字符串屬性(例如isComingFrom),並將該字符串的檢查放入您重新使用的公共視圖控制器中。希望它能幫助你。