Ios 项目的mvc方法是什么

Ios 项目的mvc方法是什么,ios,swift,model-view-controller,mvvm,Ios,Swift,Model View Controller,Mvvm,如何在mvc中转换 这是在mvvm中完成的代码 型号:- class EventModel: NSObject { var name :String! var location:String! var imageurl :String! var date:String! var place:String! var id:String! init?(dictionary :JSONDictionary) { guard l

如何在mvc中转换

这是在mvvm中完成的代码

型号:-

class EventModel: NSObject {

    var name :String!
    var location:String!
    var imageurl :String!
    var date:String!
    var place:String!
    var id:String!
    init?(dictionary :JSONDictionary) {

        guard let name = dictionary["name"] as? String,
            let id = dictionary["id"] as? String,
            let location = dictionary["location"] as? String,
            let imageurl = dictionary["imageurl"] as? String,
            let date  = dictionary["date"] as? String,
            let place = dictionary["place"] as? String else {
                return
        }

        self.name = name
        self.location = location
        self.id = id
        self.imageurl = imageurl
        self.place = place
        self.date = date
    }





}
数据源模型:-

class EventDataSourceModel: NSObject {

    var dataListArray:Array<EventModel>? = []


    init(array :Array<[String:Any]>?) {
        super.init()
        var newArray:Array<[String:Any]> = []
        if array == nil{

            newArray = self.getJsonDataStored2()
        }
        else{
            newArray = array!

        }

        var datalist:Array<EventModel> = []
        for dict in newArray{

            let model = EventModel(dictionary: dict)

            datalist.append(model!)
        }
        self.dataListArray = datalist
    }



}

typealias dummyDataSource2 =  EventDataSourceModel
extension dummyDataSource2{

    func getJsonDataStored2() ->Array<Dictionary<String,String>>{

        let jsonArray = [["id":"201","name":"Dosa Fest","imageurl":"","location":"Doha,Qatar","date":"Jan 2018","place":"Shiraz Garden"],["id":"202","name":"Organic Vegan Fest","imageurl":"","location":"Doha,Qatar","date":"15 Jan 2018 30 Jan 2018","place":"Evergreen Organics"],["id":"203","name":"Food Of Life Time","imageurl":"","location":"Doha,Qatar","date":"Jan 2018","place":"Turkey Central"],["id":"204","name":"Tea Time","imageurl":"","location":"Doha,Qatar","date":"Jan 2018","place":"Doha Food Mall"],["id":"205","name":"Dosa Fest","imageurl":"","location":"Doha,Qatar","date":"Jan 2018","place":"Shiraz Garden"],["id":"206","name":"Organic Vegan Fest","imageurl":"","location":"Doha,Qatar","date":"15 Jan 2018 30 Jan 2018","place":"Evergreen Organics"],["id":"207","name":"Food Of Life Time","imageurl":"","location":"Doha,Qatar","date":"Jan 2018","place":"Turkey Central"],["id":"208","name":"Tea Time","imageurl":"","location":"Doha,Qatar","date":"Jan 2018","place":"Doha Food Mall"]] as Array<Dictionary<String,String>>

        return jsonArray
    }

}
tableview单元格:-

class EventCell: UITableViewCell {

    @IBOutlet weak var name: UILabel!


    @IBOutlet weak var cellview: UIView!


    override func awakeFromNib() {
        super.awakeFromNib()

    }


    func setEventData(events:QM_EventModel)
    {
        self.name.text = events.name

    }
    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)
    }

}

在mvc中该怎么做?我很困惑,因为许多与mvc相关的网站表现出不同的风格。目标是相同的,但编写代码的方法不同。因此,这使beginer感到困惑。上面的代码在mmvm中。那么mvc中需要做哪些更改。

如何解决问题problem@MdRashed Pervez任何人都能解决设置架构模式的问题吗(MVVM到MVC)您必须自行设置。MVC的体系结构模式是如何工作的?请查看以下链接-,
class EventViewController: UIViewController ,UITableViewDataSource{


    @IBOutlet private weak var tableView: UITableView!

    private var eventViewModel :EventViewModel!

    init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?, withViewModel viewModel:EventViewModel) {

        super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)

        eventViewModel  = viewModel
    }



    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }


    override func viewDidLoad() {
        super.viewDidLoad()


        self.tableView .reloadData()

    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return eventViewModel.numberOfRowsInSection(section: section)
    }


    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {


        let identifier = "eventcell"
        var cell: EventCell! = tableView.dequeueReusableCell(withIdentifier: identifier) as? EventCell

        if cell == nil {
            tableView.register(UINib(nibName: "EventCell", bundle: nil), forCellReuseIdentifier: identifier)
            cell = tableView.dequeueReusableCell(withIdentifier: identifier) as? EventCell
        }

        cell.setEventData(events: eventViewModel.datafordisplay(atindex: indexPath))

        return cell
    }


}
class EventCell: UITableViewCell {

    @IBOutlet weak var name: UILabel!


    @IBOutlet weak var cellview: UIView!


    override func awakeFromNib() {
        super.awakeFromNib()

    }


    func setEventData(events:QM_EventModel)
    {
        self.name.text = events.name

    }
    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)
    }

}