and performance tests in Objective-C and Swift using XCTest, OCMock, Swinject... - https://www.smartrecruiters.com/Atlassian/93336663-ios-developer - MealPass - Familiarity with dependency injection libraries such as swinject - http://garysguide.com/jobs/up0gwed/Software-Engineer-at-MealPass-New-York-NY - Location Labs - We are using in our iOS products, including Cocoapods, Typhoon/Swinject, Realm, PromiseKit, Alamofire, Amplitude... - https://www.latitude.work/locationlabs/emeryville/senior-software-engineer-ios - МАДЖЕСТИ - 1. Realm, 2. Dependency injection (Swinject), 3. Работа с платежными... - https://voronezh.hh.ru/vacancy/17552731 - And more… (Mercari too)
Repository Entity UIView/UIViewController Protocol Buffers Class with Protocol Class with Protocol Class with Protocol Class with Protocol Reference Signal (ReactiveSwift) Use protocol as interface
Apps with Modern Best Practices* • WWDC 2017 (indirectly) • Engineering for Testability** * https://developer.apple.com/videos/play/wwdc2016/213/ ** https://developer.apple.com/videos/play/wwdc2017/414/
container.register(Animal.self) { _ in Cat() } container.register(PetOwner.self) { resolver in PetOwner(pet: resolver.resolve(Animal.self)!) } DI Container Register Use resolver to resolve inside a closure
{ resolver in let dependency = ( resolver.resolve(APIClientProtocol.self)!, resolver.resolve(CrashlyticsAdapterProtocol.self)! ) return HomeViewModel(dependency: dependency) } container.register(HomeViewController.self) { resolver in let vc = HomeViewController.instantiateFromStoryboard() vc.viewModel = resolver.resolve(HomeViewModelProtocol.self)! return vc } } } How to Use Assembly Group related dependency definitions by Assembly