Skip to content

Instantly share code, notes, and snippets.

View joelmarquez90's full-sized avatar

Joel Márquez joelmarquez90

View GitHub Profile
func downloadImage() {
guard let team = team, let logoURL = team.logoURL() else {
return
}
sd_setImage(with: logoURL)
}
extension Tournament: Equatable {
static func ==(lhs: Tournament, rhs: Tournament) -> Bool {
return lhs.ID == rhs.ID
}
}
- (BOOL)isEqual:(id)object
{
if (self == object) {
return YES;
}
if (![object isKindOfClass:TRTournament.class]) {
return NO;
}
let viewModel = VersionViewModel(provider:
MoyaProvider<Service>(stubClosure: MoyaProvider.immediatelyStub))
// Class definition. You're right, only ONE LINE of code!
class VersionViewModel: BaseViewModel<Version> {}
// Using it
let viewModel = VersionViewModel(provider: MoyaProvider<Service>())
viewModel.fetchData(service: .version(version: AppInfo.version())).startWithResult { result in
switch result {
case let .success(version):
// Handle version success response
case let .failure(error):
import Moya
import ReactiveSwift
class BaseViewModel<Element: Codable> {
var value: Element? {
didSet {
valueDidSet()
}
}
class TournamentTableViewCell: BaseTableViewCell<Tournament> {
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
selectionStyle = .none
textLabel?.font = R.font.proximaNovaLight(size: FontSize.Medium)
textLabel?.textColor = UIColor.flatBlack
}
// On your UITableView setUp
tableView.register(TournamentTableViewCell.self,
forCellReuseIdentifier: TournamentTableViewCell.cellReuseIdentifier())
// On your UITableViewDataSource implementation
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: TournamentTableViewCell.cellReuseIdentifier(),
for: indexPath) as! TournamentTableViewCell
guard let tournament = tournamentAtIndexPath(indexPath: indexPath) else {
class BaseTableViewCell<Element: Codable>: UITableViewCell {
public var model: Element? {
didSet {
setupCell()
}
}
public func setupCell() {}
public class func nib() -> UINib {
let moyaProvider = MoyaProvider<Service>()
moyaProvider.request(.version(version: "2.2.0")) { result in
switch result {
case let .success(response):
var version: Version
do {
version = try response.map(Version.self)
print(version)
} catch {
print(error)