Skip to content

Instantly share code, notes, and snippets.

View akshitzaveri's full-sized avatar

Akshit Zaveri akshitzaveri

View GitHub Profile
// MARK: - UI objects
private lazy var circleView: UIView = {
let view = UIView()
view.translatesAutoresizingMaskIntoConstraints = false
view.backgroundColor = .red
view.clipsToBounds = true
return view
}()
@IBOutlet weak var circleView: AnimatableCircleView!
@IBOutlet weak var circleView: UIView!
import UIKit
final class AnimatableCircleView: UIView {
// MARK: - Initializers and Life cycle
required init?(coder: NSCoder) {
super.init(coder: coder)
self.setup()
}
// Step1: Call posts API
group.enter()
AF.request(Endpoint.posts).response { response in
group.leave()
}
// 5
override func viewDidLoad() {
super.viewDidLoad()
self.isWaiting = true
// Step0: Creating and entering dispatch groups
let group = DispatchGroup()
group.enter()
group.enter()
import UIKit
import Alamofire
final class ViewController: UIViewController {
// 1
private struct Endpoint {
static let posts = "http://jsonplaceholder.typicode.com/posts"
static let comments = "http://jsonplaceholder.typicode.com/comments"
}
import Foundation
protocol WalkableAnimal {
func walk()
}
protocol RunnableAnimal {
func run()
}
import Foundation
protocol Animal {
func walk()
func run()
}
extension Animal {
func run() {
}
import Foundation
@objc protocol Animal {
func walk()
@objc optional func run()
}
class Elephant: NSObject, Animal {
func walk() {
print("I am walking")