Skip to content

Instantly share code, notes, and snippets.

private let dataSource = RxTableViewSectionedReloadDataSource<RepoSectionModel>(
configureCell: { _, tableView, indexPath, model in
guard
let cell = tableView.dequeueReusableCell(
withIdentifier: "\(RepoTableViewCell.self)",
for: indexPath
) as? RepoTableViewCell
else {
return UITableViewCell()
}
// MARK: - public
extension RepoTableViewCell {
func configCell(repo: Repo) {
self.titleLabel.text = repo.fullName
self.subTitleLabel.text = repo.description
}
}
//
// ViewController.swift
// GithubSearch_VIPER
//
// Created by 융융 on 2021/02/27.
//
import UIKit
import SnapKit
//
// RepoTableViewCell.swift
// GithubSearch_VIPER
//
// Created by 융융 on 2021/03/28.
//
import UIKit
final class RepoTableViewCell: UITableViewCell {
override func viewDidLoad() {
super.viewDidLoad()
GithubService()
.searchRepos(with: "rxSwift")
.compactMap { $0 }
.subscribe(onNext: { repos in
for repo in repos {
print(repo.fullName)
}
//
// GithubService.swift
// GithubSearch_VIPER
//
// Created by 융융 on 2021/02/28.
//
import RxSwift
import Alamofire
import SwiftyJSON
//
// Repo.swift
// GithubSearch_VIPER
//
// Created by 융융 on 2021/02/28.
//
import Foundation
import ObjectMapper
// appDelegate.swift or SceneDelegate.swift
guard let windowScene = (scene as? UIWindowScene) else { return }
self.window = UIWindow(frame: windowScene.coordinateSpace.bounds)
self.window?.windowScene = windowScene
let viewController = SearchRouter.createModule()
let navigationController = UINavigationController(rootViewController: viewController)
self.window?.rootViewController = navigationController
self.window?.makeKeyAndVisible()
import UIKit
import SnapKit
import Then
final class SearchView: UIViewController {
var presenter: SearchPresenterProtocol?
override func viewDidLoad() {
super.viewDidLoad()
import UIKit
final class SearchRouter { }
extension SearchRouter: SearchRouterProtocol {
static func createModule() -> SearchView {
let view = SearchView()
let presenter = SearchPresenter()
let interactor = SearchInteractor()
let router = SearchRouter()