无法将类型“()”的值分配给类型 'UIView?'

Cannot assign value of type '()' to type 'UIView?'

我创建了一个视图以供重复使用。我的计划是:在 ViewController 上显示相同的内容,但内容因类型而异。 在视图中,您需要更改 Label 并且 background.The 数据来自服务器,为此我创建了 ViewModel。根据类型,我return标签内容和背景颜色。

ViewModel.swift

  class SomeViewModel{
        enum ViewType: Int {
            case oneViewType
            case twoViewType
        }
        //Example
          func getViewBackgroundColor() -> UIColor {
                switch ViewType {
                case .oneViewType:
                    return .black
                case .twoViewType :
                    return .white
                }
            }
    }

ViewControllerViewModel.swift

class ViewControllerViewModel{

    var viewType: ViewType? = nil

    func getViewType(type: viewType)  {

        switch type {
        case .oneViewType:
            return
        case .twoViewType:
            return
        }
    }

ViewController.swift

 class SomeViewController: UIViewController {

        @IBOutlet weak var oneView:UIView!
        @IBOutlet weak var twoView:UIView!

      var viewModel: SomeViewModel!



    override func viewDidLoad() {
        super.viewDidLoad()

    }
    func configure(viewModel: ViewControllerViewModel) {
        self.viewModel = viewModel

   //ERROR : Cannot assign value of type '()' to type 'UIView?'
    oneView = self.SomeViewModel.getViewType(type: .oneViewType)
        }
}

错误:无法将类型“()”的值分配给类型 'UIView?'

在更正您的代码后,我不知道您在做什么。它应该是这样的:

enum ViewType: Int {
    case oneViewType
    case twoViewType

    func getViewBackgroundColor() -> UIColor {
    switch self {
        case ViewType.oneViewType:
            return .black
    case ViewType.twoViewType :
            return .white
        }
    }
}

class SomeViewModel{
    var type : ViewType

    init(type : ViewType) {
        self.type = type
    }
}

class ViewControllerViewModel{

var viewType: ViewType? = nil

func getViewType(type: ViewType)  {

    switch type {
    case .oneViewType:
        return
    case .twoViewType:
        return
    }
}
}

class WalletsViewModel : SomeViewModel {

}

但我仍然不知道你想分配什么 viewOne : UIView = getType(ViewType) 哪个 return 一个 Int