What is Swift?
https://docs.swift.org/swift-book/LanguageGuide/TheBasics.html
https://developer.apple.com/swift/
● Programming language for Apple products
● Type-safe language
● Static & Dynamic Dispatch whereas ObjC only Dynamic Dispatch
● Tuples and multiple return values
● Generics
● Structs that support methods, extensions, and protocols
● Higher order functions, e.g., map and filter
● Advanced control flow with do, guard, defer, and repeat keywords
● Enums can have payloads and support pattern matching
Swift 5.7/5.6 new features
https://www.hackingwithswift.com/swift/5.7
https://github.com/twostraws/whats-new-in-swift-5-6
OOPs Concept
https://medium.com/swift-india/oops-in-swift-998738407423
State of an iOS app
https://www.techrepublic.com/blog/software-engineer/understand-the-states-and-transitions-of-a
n-ios-app/ (Quick Rev.)
https://medium.com/@chinthaka01/the-execution-states-of-an-ios-application-84e117132e27
App/VC/Lifecycle for Swift / Swift UI
https://medium.com/@ansujain/ios-application-life-cycle-d517a3c44e7e
https://manasaprema04.medium.com/application-life-cycle-in-ios-f7365d8c1636
https://bradbambara.wordpress.com/2015/01/18/object-life-cycle-uiview/
https://medium.com/swlh/ios-app-lifecycle-explained-4e2f9d2370ab
Functions
https://code.tutsplus.com/tutorials/swift-from-scratch-function-parameters-types-and-nesting--cm
s-23056
Optionals in Swift:
https://medium.com/@agoiabeladeyemi/optionals-in-swift-2b141f12f870
Completion Handler:
https://grokswift.com/completion-handler-faqs/
Closure:
https://medium.com/@abhimuralidharan/functional-swift-all-about-closures-310bc8af31dd
Escaping and Non-Escaping Closure:
https://medium.com/swiftcommmunity/what-do-mean-escaping-and-nonescaping-closures-in-sw
ift-d404d721f39d
Capture List:
https://www.swiftbysundell.com/articles/swifts-closure-capturing-mechanics/
https://blog.bobthedeveloper.io/swift-capture-list-in-closures-e28282c71b95
Properties:
https://medium.com/@abhimuralidharan/all-about-properties-in-swift-d618481b1cc1
Constants
https://medium.com/swift-india/defining-global-constants-in-swift-a80d9e5cbd42
Structs and Classes in swift
https://docs.swift.org/swift-book/LanguageGuide/ClassesAndStructures.html
https://medium.com/@nitingeorge_39047/copy-on-write-in-swift-b44949436e4f
https://stackoverflow.com/questions/24232799/why-choose-struct-over-class
Protocol vs Class
https://www.hackingwithswift.com/example-code/language/whats-the-difference-between-a-prot
ocol-and-a-class
Enum
https://abhimuralidharan.medium.com/enums-in-swift-9d792b728835
Access Level:
https://medium.com/@abhimuralidharan/swift-3-0-1-access-control-9e71d641a56c
Final in Swift/Dynamic Dispatch:
https://developer.apple.com/swift/blog/?id=27
https://stackoverflow.com/questions/46049783/what-is-the-difference-between-final-class-and-cl
ass
Inline/Static/Dynamic/Message Dispatch in Swift
https://medium.com/flawless-app-stories/static-vs-dynamic-dispatch-in-swift-a-decisive-choice-c
ece1e872d
https://medium.com/@nitingeorge_39047/swift-performance-dynamic-dispatch-bcbc71fda181
Memory Management in iOS (Read each word and hyperlink)
https://docs.swift.org/swift-book/LanguageGuide/AutomaticReferenceCounting.html
https://heartbeat.fritz.ai/memory-management-in-swift-heaps-stacks-baa755abe16a
https://swiftrocks.com/memory-management-and-performance-of-value-types
https://medium.com/flawless-app-stories/unowned-vs-weak-614ac71ac516
https://developer.apple.com/videos/play/wwdc2015/409/?time=1076
………………………
https://cocoacasts.com/swift-and-cocoa-fundamentals-threads-queues-and-concurrency
https://www.swiftbysundell.com/articles/task-based-concurrency-in-swift/
https://www.viget.com/articles/concurrency-multithreading-in-ios/
GCD in Swift
https://www.appcoda.com/grand-central-dispatch/
https://www.oreilly.com/library/view/high-performance-ios/9781491910993/ch04.html
https://ali-akhtar.medium.com/concurrency-in-swift-grand-central-dispatch-part-1-945ff05e8863
Dispatch Group
https://medium.com/swift-india/parallel-programming-with-swift-part-2-4-46a3c6262359
https://medium.com/swift2go/using-dispatch-group-semaphore-to-group-ios-async-tasks-alfian-l
osari-81335fa6e92e
https://www.raywenderlich.com/5371-grand-central-dispatch-tutorial-for-swift-4-part-2-2#toc-anc
hor-002
Memory Leak:
https://jayeshkawli.ghost.io/when-to-weakify/
Retain Cycle, Weak and Unowned:
https://krakendev.io/blog/weak-and-unowned-references-in-swift#:~:text=A%20weak%20referen
ce%20is%20just,from%20being%20deallocated%20by%20ARC.&text=In%20Swift%2C%20all%
20weak%20references,a%20strong%20reference%20to%20it.
https://medium.com/mackmobile/avoiding-retain-cycles-in-swift-7b08d50fe3ef
https://medium.com/@vinodhswamy/strong-cycle-retain-cycle-in-swift-f452f07518b2
Autolayout Architecture
https://www.vadimbulavin.com/view-auto-layout-life-cycle/#:~:text=Every%20UIView%20with%2
0enabled%20Auto,the%20whole%20cycle%20to%20repeat.
https://matteomanferdini.com/ios-auto-layout/
Size Classes
https://medium.com/@craiggrummitt/size-classes-in-interface-builder-in-xcode-8-74f20a541195
Size Classes(Programatically)
https://medium.com/flawless-app-stories/building-adaptive-layout-with-size-classes-programmati
cally-40db42950c89
SetNeedsLayout vs LayoutIfNeeded
https://medium.com/@gagan5278/setneedslayout-vs-layoutifneeded-in-swift-6f5fb2972d5f
https://abhimuralidharan.medium.com/ios-swift-setneedslayout-vs-layoutifneeded-vs-layouts
ubviews-5a2b486da31c
AutoLayout (Must read Why Points instead of Pixels?)
https://www.appcoda.com/learnswift/auto-layout-intro.html
Content Sizing Priorities (Hugging n Compression Resistance)
https://krakendev.io/blog/autolayout-magic-like-harry-potter-but-real
Frames Vs Bounds
https://suragch.medium.com/frame-vs-bounds-in-ios-107990ad53ee
Get/Set/WillSet/DidSet
https://stackoverflow.com/questions/25398753/swift-willset-didset-and-get-set-methods-in-a-pro
perty
Coredata
https://medium.com/xcblog/core-data-with-swift-4-for-beginners-1fc067cca707
https://cocoacasts.com/what-is-the-core-data-stack
https://ali-akhtar.medium.com/mastering-in-core-data-part-0-5a529c6c5a93
Core Data vs Realm
https://cocoacasts.com/core-data-or-realm#:~:text=An%20important%20advantage%20Realm%
20has,it%20has%20over%20Core%20Data.
https://www.cloudbees.com/blog/ios-databases-sqllite-core-data-realm/
Typealias in Swift:
https://medium.com/pretty-swifty/swift-101-typealias-9d6a794bc59f
https://www.programiz.com/swift-programming/typealias
https://www.swiftbysundell.com/articles/the-power-of-type-aliases-in-swift/
Two phase initialization
https://docs.swift.org/swift-book/LanguageGuide/Initialization.html#ID220
Assert
https://medium.com/@alecoconnor/asserts-in-swift-and-why-you-should-be-using-them-6a7c96
eaec10
Subscript
https://abhimuralidharan.medium.com/subscripts-in-swift-51e73cc5ddb5
Any vs AnyObject:
https://medium.com/flawless-app-stories/any-anyobject-in-ios-803515bd95a6
NSOperation Queues(Only if needed)
Dependency Injection in Swift
https://learnappmaking.com/dependency-injection-swift/
https://levelup.gitconnected.com/dependency-injection-in-swift-bc16d66b038b
Dependency Inversion in Swift
https://medium.com/flawless-app-stories/practical-dependency-inversion-in-swift-1c1142161a8
Paths n Layers in Swift
https://www.appcoda.com/bezier-paths-introduction/
iOS 14 for developers
https://medium.com/better-programming/ios-14-checklist-for-developers-372bd6d2507e
iOS 15 for developers
https://medium.com/geekculture/whats-new-in-ios-15-for-developers-cdde64a68511
CachePolicy(need to implement Protocol based in request)
https://medium.com/flawless-app-stories/ignorance-of-the-urlrequest-cache-a3584bc2f05f
Closures catch by value
https://medium.com/swlh/can-you-answer-this-simple-swift-question-correctly-3d2836cff7b1
NSPredicate
https://nshipster.com/nspredicate/
Push Notifications
https://medium.com/flawless-app-stories/ios-remote-push-notifications-in-a-nutshell-d05f5ccac2
52
Codable In Swift
Method Swizzling
https://abhimuralidharan.medium.com/method-swizzling-in-ios-swift-1f38edaf984f
Error Handling/Try/Try?/Try! in Swift
https://abhimuralidharan.medium.com/error-handling-in-swift-d0a618499910
Result
Tuples
https://abhimuralidharan.medium.com/tuple-in-swift-a9ddeb314c79
KVO n KVC
https://www.uraimo.com/swiftbites/kvo-and-kvc-in-swift/
Google Maps
Firebase
Design Pattern
https://medium.com/flawless-app-stories/the-only-viable-ios-architecture-c42f7b4c845d
Singleton Pattern
https://cocoacasts.com/what-is-a-singleton-and-how-to-create-one-in-swift
Architecture in iOS
https://www.raywenderlich.com/6733535-ios-mvvm-tutorial-refactoring-from-mvc#toc-anchor-00
5
https://medium.com/better-programming/how-to-implement-viper-architecture-in-your-ios-app-re
st-api-and-kingfisher-f494a0891c43
SOLID in iOS
https://www.scaledrone.com/blog/solid-principles-for-becoming-a-better-ios-swift-developer/
https://marcosantadev.com/solid-principles-applied-swift/
https://medium.com/swift-india/solid-principles-part-3-liskov-substitution-principle-723e025d0589
Data persistence in iOS
Networking in iOS
https://matteomanferdini.com/network-requests-rest-apis-ios-swift/
Filters, map, flatmap, etc…
PHAsset
Document Directory
https://coggle.it/diagram/W5E5tqYlrXvFJPsq/t/master-the-interview-click-here-for-course-link
Modularise App
https://medium.com/kinandcartacreated/modular-ios-splitting-a-workspace-into-modules-331293
f1090
Diffable Data Source
https://www.alfianlosari.com/posts/using-ios13-diffable-datasource-api-in-tableview/
Discardable Result
https://sarunw.com/posts/what-is-discardableresult/
Property Wrappers
https://www.swiftbysundell.com/articles/property-wrappers-in-swift/
App Profiling
https://www.avanderlee.com/debugging/xcode-instruments-time-profiler/
https://www.hackingwithswift.com/articles/81/how-to-find-and-fix-slow-code-using-instruments
Reasons for application rejection
https://medium.com/alphalogicinc/15-reasons-why-apple-will-reject-your-app-96f8802a2a65
API Design Guidelines
https://swift.org/documentation/api-design-guidelines/
UIResponder chain
https://dev-wd.github.io/swift/responderchain/
https://dev-wd.github.io/swift/uicontrol/
Thread safe operations
https://stackoverflow.com/questions/28191079/create-thread-safe-array-in-swift
Background Execution
https://abhimuralidharan.medium.com/finite-length-tasks-in-background-ios-swift-60f2db4fa01b
https://medium.com/swlh/handling-background-tasks-in-ios-13-67f717d94b3d
https://medium.com/@vialyx/ios-dev-course-background-modes-fetch-70c18f9f58d5
Memory Profiling
Time Profiler
https://stackoverflow.com/questions/51946972/xcode-instruments
App Launch
https://developer.apple.com/videos/play/wwdc2019/423/
Protocol Based Network Layer
https://github.com/AjayBhanushali/NetworkLayer
SwiftUI
Why Struct for views in SwiftUI
https://www.hackingwithswift.com/books/ios-swiftui/why-does-swiftui-use-structs-for-views
Opaque type:
https://www.alfianlosari.com/posts/understanding-opaque-return-type/
Combine
MetalKit
ARKit
AVKit
Interview Prep:-
https://iosinterviewguide.com/ios-interview-questions-for-senior-developers-in-2020
https://tanaschita.medium.com/ios-interview-questions-and-answers-for-senior-developers-part-
1-9256221356f5
https://www.hackingwithswift.com/interview-questions
https://iosinterviewguide.com/ios-interview-questions-for-senior-developers-in-2020
There are several ways to pass data in swift such as KVO, Delegate, NSNotification &
Callbacks, Target-Action, etc.
https://github.com/apple/swift/blob/main/docs/OptimizationTips.rst
Static vs Dynamic Library
https://pratheeshbennet.medium.com/static-library-vs-dynamic-library-in-ios-55478ed53a03
Improvements on compilation time:
https://medium.com/@joshgare/8-tips-to-speed-up-your-swift-build-and-compile-times-in-xcode-
73081e1d84ba
https://medium.com/flawless-app-stories/analyzing-and-improving-build-times-in-ios-5e2b77ef40
8e(Build and release time)
https://www.avanderlee.com/optimization/analysing-build-performance-xcode/ (Some Xcode
Setting changes)