Как любой реализованный шаблон MVVM в вашем приложении iOS без использования ReactiveCocoa?MVVM Пример/реализация примера в iOS
Здесь представлено множество примеров, но все они используют реактивный какао. Мне нужен простой пример реализации MVVM.
Как любой реализованный шаблон MVVM в вашем приложении iOS без использования ReactiveCocoa?MVVM Пример/реализация примера в iOS
Здесь представлено множество примеров, но все они используют реактивный какао. Мне нужен простой пример реализации MVVM.
Реактивный какао определенно не требуется для MVVM. Я создал очень успешную структуру MVVM без каких-либо привязок. Привязки не являются обязательными для MVVM.
В частности, связь между View Model и View требует, чтобы View Model выдавала сигнал View, чтобы он обновлял свои данные. Это может быть достигнуто с помощью Reactive Cocoa, KVO (мне действительно нравится KVOController Facebook) или даже с использованием простого шаблона делегата.
Модель просмотра знает, когда необходимо обновить представление - либо данные были изменены, либо вы делаете запрос данных асинхронного запроса с помощью Модели, а Модель загружена в Модель просмотра.
Когда вы настраиваете View, вы можете привязать каждый элемент управления к соответствующему значению в Model View. Я обнаружил, что когда мне нужно выкачать экраны, это может стать очень утомительным. Вместо этого я предпочел бы иметь один метод, который вызывается, когда View Model сигнализирует, что View должен обновлять себя. В рамках этого метода я просто собираюсь установить все свои свойства управления.
Теперь вам нужно только заботиться о том, как этот метод запускается. В моих личных рамках я использую KVO, а мои ViewControllers контролируют свойство timestamp на базовом уровне ViewModel. В любое время, когда мои модели просмотра обновляют свои базовые данные, обновляется его метка времени, которая запускает обновление. Вы также можете легко зарегистрировать контроллер View в качестве делегата обновления ViewModel и использовать стандартный шаблон делегирования.
Опять же, MVVM не касается конкретных требований к внедрению и больше о концепции более высокого уровня разделения проблем, развязки зависимостей и инкапсуляции.
Я сделал некоторые испытания на этой MVVMSwiftSample
Я сделал MVVM Design Pattern в Swift POP с КВЦ подходом. вы можете проверить, нравится ли вам это, это было бы моим удовольствием на GitHub.
https://github.com/AbhimanyuForiOS/ASMVVM Счастливый кодирования !!
Я создал простой проект, используя MVVM: Model-View-ViewModel
Пожалуйста, проверьте ниже Github ссылка:
Когда вам нравится создавать/прикреплять другую половину вашего проекта? ожидающие поступления данных выглядят наполовину ... – holex
Ваш вопрос интересен, но слишком широк. Что у тебя на уме? В противном случае вы должны взглянуть на эти два сообщения в блоге: [Swift: использование MVVM для работы с опциями] (http://natashatherobot.com/swift-mvvm-optionals/) и [Введение в MVVM] (http: // www.objc.io/issue-13/mvvm.html). Вы также можете прочитать эту тему: [Переписать код из Objective-C, чтобы он соответствовал инструментам Swift power и сжатым стилем] (http://codereview.stackexchange.com/questions/62958/rewrite-code-from-objective-c-to -conform-с-Свифта-силовых инструментов-и-сжатой-Styl). Отличный ответ Роб Майофф использует настройку MVVM. –
Другой пример Swift MVVM на GitHub [здесь] (https://github.com/shilgapira/SwiftDemoMVVM). –
Вы получите только преимущества использования MVVM, если у вас есть система, которая поможет вам привязать данные.В iOS это почти наверняка станет механизмом KVO. Вам понадобится это, чтобы избежать написания собственного кода отслеживания изменений для каждого свойства. ReactiveCocoa - это самый зрелый проект, который объединяет KVO API вместе с уведомлениями и асинхронными потоками и невероятно мощный, как только вы перейдетесь к кривой обучения. Я бы посоветовал не пытаться избежать этого, но на самом деле обнимать его. – fatuhoku