I hereby claim:
- I am mackis on github.
- I am mdevsa (https://keybase.io/mdevsa) on keybase.
- I have a public key ASC1AIL2E16t6e0qCo0G0M-Nr5rZcWrUoxYyTwG04-HMago
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
public extension UIImageView { | |
public func loadImage(fromURL url: String) { | |
guard let imageURL = URL(string: url) else { | |
return | |
} | |
let cache = URLCache.shared | |
let request = URLRequest(url: imageURL) | |
DispatchQueue.global(qos: .userInitiated).async { | |
if let data = cache.cachedResponse(for: request)?.data, let image = UIImage(data: data) { |
import UIKit | |
public class MDVUnderlineAnimator: MDVTabBarAnimatable { | |
private var underlineColor: UIColor = .clear | |
private var underlineHeight: CGFloat = 0 | |
private var xPosition: CGFloat = 0 | |
private var yPositionOffset: CGFloat = 0 | |
private var containerWidth: CGFloat = 0 | |
private var underlineView: UIView = UIView(frame: .zero) |
class MainViewController: UIViewController { | |
var networkManager: NetworkManager! | |
init(networkManager: NetworkManager) { | |
super.init(nibName: nil, bundle: nil) | |
self.networkManager = networkManager | |
} | |
required init?(coder aDecoder: NSCoder) { |
import Foundation | |
enum NetworkEnvironment { | |
case qa | |
case production | |
case staging | |
} | |
public enum MovieApi { |
import Foundation | |
struct MovieApiResponse { | |
let page: Int | |
let numberOfResults: Int | |
let numberOfPages: Int | |
let movies: [Movie] | |
} | |
extension MovieApiResponse: Decodable { |
{ | |
"vote_count": 78, | |
"id": 374430, | |
"video": false, | |
"vote_average": 8.8, | |
"title": "Black Mirror: White Christmas", | |
"popularity": 3.055805, | |
"poster_path": "/he609rnU3tiwBjRklKNa4n2jQSd.jpg", | |
"original_language": "en", | |
"original_title": "Black Mirror: White Christmas", |
import UIKit | |
protocol NibLoadableView: class { } | |
extension NibLoadableView { | |
static var nibName: String { | |
return String(describing: self) | |
} | |
import UIKit | |
protocol ReusableView: class {} | |
extension ReusableView { | |
static var reuseIdentifier: String { | |
return String(describing: self) | |
} | |
} |
// Labels | |
private lazy var timeLabel: UILabel = { | |
let l = UILabel() | |
l.textColor = .white | |
l.font = Theme.fonts.futuraMedium(size: 70) | |
let date = Date() | |
return l | |
}() | |
private lazy var dateLabel: UILabel = { |