Skip to content

Instantly share code, notes, and snippets.

View mecid's full-sized avatar
🏠
Working from home

Majid Jabrayilov mecid

🏠
Working from home
View GitHub Profile
@mecid
mecid / ReactiveItemsViewModel.swift
Last active January 8, 2018 19:47
Mastering MVVM
import Bond
class ItemsViewModel {
let items = Observable<[Item]>([])
let error = Observable<Error?>(nil)
let refreshing = Observable<Bool>(false)
private let dataManager: DataManager
init(dataManager: DataManager) {
self.dataManager = dataManager
@mecid
mecid / ItemsViewModel.swift
Last active January 8, 2018 12:21
Mastering MVVM
import Foundation
class ItemsViewModel {
var items: [Item] = []
var error: Error?
var refreshing = false
private let dataManager: DataManager
init(dataManager: DataManager) {
self.dataManager = dataManager
@mecid
mecid / ItemsViewController.swift
Last active January 6, 2018 00:16
Mastering MVVM
import UIKit
class ItemsViewController: UIViewController {
@IBOutlet private weak var tableView: UITableView!
private var viewModel: ItemsViewModel
init(viewModel: ItemsViewModel) {
self.viewModel = viewModel
super.init(nibName: nil, bundle: nil)
}
//
// ActivityPresentable.swift
// SnowMine
//
// Created by Majid Jabrayilov on 10/24/17.
// Copyright © 2017 SnowDog. All rights reserved.
//
import UIKit
@mecid
mecid / .swiftlint.yml
Last active March 13, 2020 15:59
SwiftLint config file
opt_in_rules:
- force_unwrapping
- empty_count
- contains_over_first_not_nil
- fatal_error_message
- first_where
- number_separator
- operator_usage_whitespace
- trailing_closure
- toggle_bool
@mecid
mecid / Networking.swift
Last active June 19, 2023 16:35
Networking layer in Swift
import Foundation
import Combine
enum HTTPMethod: String {
case put = "PUT"
case post = "POST"
case get = "GET"
case delete = "DELETE"
case head = "HEAD"
}