Skip to content

Instantly share code, notes, and snippets.

View trupin's full-sized avatar

Theophane RUPIN trupin

View GitHub Profile
@objc final class Review: NSObject {
struct Properties: Decodable {
let id: String
let author: String
let content: String
let url: String
}
let properties: Properties
import UIKit
final class MovieViewController: UIViewController {
private let dependencies: MovieViewControllerDependencyResolver
// weaver: movie <= Movie
// weaver: imageManager = ImageManager
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
private let dependencies: AppDelegateDependencyResolver = AppDelegateDependencyContainer()
// weaver: homeViewController = HomeViewController <- UIViewController
// weaver: urlSession = URLSession
final class ImageManager {
// weaver: urlSession <- URLSession
private let dependencies: ImageManagerDependencyContainer
required init(dependencies: ImageManagerDependencyContainer) {
self.dependencies: dependencies
}
import UIKit
final class ImageManager {
// weaver: urlSession = URLSession
// weaver: urlSession.builder = URLSession.make
private let dependencies: ImageManagerDependencyContainer
required init(dependencies: ImageManagerDependencyContainer) {
import UIKit
final class ImageManager {
private let dependencies: ImageManagerDependencyResolver
// weaver: urlSession = URLSession
required init(injecting dependencies: ImageManagerDependencyResolver) {
self.dependencies = dependencies
import UIKit
final class ImageManager {
func getImage(with path: String, completion: @escaping (UIImage?) -> Void) {
let completionOnMainThread = { result in
DispatchQueue.main.async {
completion(result)
}
import UIKit
final class MovieTableViewCell: UITableViewCell {
struct ViewModel {
let title: String
}
func bind(_ viewModel: ViewModel) {
textLabel?.text = viewModel.title
import UIKit
final class MovieViewController: UIViewController {
private let dependencies: MovieViewControllerDependencyResolver
// weaver: movie <= Movie
private lazy var overviewLabel: UILabel = {
let label = UILabel()
import UIKit
final class MovieTableViewCell: UITableViewCell {
struct ViewModel {
let title: String
}
func bind(_ viewModel: ViewModel) {
textLabel?.text = viewModel.title