Swift House
Swift House
https://docs.swift.org/swift-book/LanguageGuide/TheBasics.html
https://developer.apple.com/swift/
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
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
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
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
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
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
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/
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
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
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
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
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
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/
SwiftUI
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