Class - reference type, deinit,mutable,inheritance,
Struct - value type, immutable, not support inheritance, not support deinit,
get/set - computed property, do not have initial value
willset/didSet - property observer, have initialValue/finalValue,can change value after of before
assigning value to property, stored property
Frame - coordinate depends on superView,
Bound - depend on its own coordinate system
GCD - Low level API for handling concurrency, Grand Center Dispatch,DispatchGroup, Async,
Background thread,await/Asynch,Serial Queue
Sync - Task that done done in sequence like one after another [Link] thread
Sync - task that can be in FIFO order but the result is not fixed which task will be done first,Multi
threading
Raw Value - enum Type while declaring the case type, Unique
Associated Value - can be multitype,tuple type,case fund(deposit,101,20.000,etc)
Latest iOS Version - 17.4
Latest MAC OS Version - MacOS Sonoma, MacOS 14
Latest XCode Version - 15.1
Cocoa - Foundation + AppKit, for MACOS
Cocoa Touch - Foundation Framework + UIKit, For iOS,IpadOS,TVOS
Property Observer Type - Will set, did Set,
Properties - computed, stored, lay property etc
Delegate - Design Pattern used to communicate between two object with the help of protocol
IBDesignable - Attribute to show live content view of a custom UIView class
IBInspectable - Attribute to make UIView related changes in Xcode, attribute inspector.
Access Level/ identifiers - define access of your code
Public/Open - open to all module,
Internal - open to a defined module only
File Private - to .swift file
Private- to block of code - { code }
De-init - de-initialiser that delicate the memory of an object before leaving the Controller or
class, only classes have this.
Push Notification - Server based notification, login appleDeveloper account,to identifier and
certificates, enable push Notification, download certificate or .p8 File, register APNs, got to app
and add certificate through keychain or directly drag and drop, go to capabilities add push
notification, goto App delegate the ask for user permission using delegate method named
(registerPushNotificationWithToken), check for notification status is this working using
didReceiveNotification, and manage notification using NSNotification Framework.
Thread - Run a single task at a time or line of code or block of code.
Heap - Build on Run Time, it can increase class and most of the reference type stored in heap
memory.
Stack - Fixed space in memory or RAM, all value types stored in this block.
ViewController LifeCycle -
[Link] Did Load
[Link] Appear
[Link] DId Appear
[Link] Will DisAppear
[Link] Did DisAppear
Difference Between CoreData and SQlite -
CoreData - RDBMS is good, Local Framework, local persistence storage, better UI related
options.
Sqlite - can store limited data, fast, can store data on cloud etc.
AppState -
[Link] Running
[Link] in foreground
[Link] in ForeGround
[Link]
[Link]
ARC- is a mechanism that manages memory automatic and count reference automatic of object
or instances.
Singleton - Singleton is a design pattern that is used to make your code separate and clean,
and the main reason for using this pattern is to keep specific task related work separate and to
apply dry principle also.
Ways to achieve concurrency - Multithreading,Qos,DispatchGroup,async/Await [Link]
Main function - @main or app Delegate
UIWindow Object - object that carry or hold all view related info that carry coordinates,touch
events and all for our app screen.
UIView Object - responsible for showing content, and als its coordinate etc.
App Bundle - that holds all info about the app and its info pList etc.
API - Application programming interface that is responsible for transferring the data from one
place to another with security and in textFormate/encrypted format using URL and its
components.
[Link],DataAPI,ServerAPI,ModuleAPI,OSAPI, REST API etc.
SANDBox - Container in devices that separate apps and their app environment so that no app
can access or modify data or info of other apps.
Four Framework - [Link] Foundation, [Link],UIKit,Foundation etc.
KVO - Don’t Know.
KVC - Don’t Know.
Garbage collection - it is used in other languages in swift ARC used to manage
memory/cache.
Category - Don’t know? I think it is related to enum
All Data Type in Array - Yes using ANY type we can do that.
Responder Chain - Is a mechanism that handles all control events. It is a super class of all
Classes like UIViewController,UIControl, UIView and all.
Collection Types - Set,Array,Tuple,Enum,Dictionary, Custom Collection, String etc.
Keychain - is a Framework of mechanism that stores small and important data in encrypted
format.
tableView Delegate - cellForRow,numberOfRow
collectionViewDelegate - cellForItem, numberOfItem
UIResponser-UIView-UIControl-UIButton
UIresponder-UIView-UIControl-UITextField
NestedFunction - function inside the function
Optional - optional is an enum that has two cases - nil or something, it means the property that
has dataType as option may or may not have value.
optionalChaining - is a mechanism that handles multiple optionals values without explicitly
unwrapping it into one object.
Closure - closure is self container block of code that is assigned to a variable and closure does
not have a name.
Recursion - when a function calls itself inside it to make some operation, this process is called
as recursion.
passByReference - when a value or property or object assigned to a new property and that
property holding reference to the previous property is known as pass by reference.
passByValue - when a property assigned to a new property its original copy will get created this
is known as pass by value.
Any - is a data type that says that the property or object can have any type of data.
AnyObject - is a protocol if it is confirmed to any class or object that object can have any type.
SOLID -
S - single responsibility Principle
O-Open Close Principle
L- Liskove substitution Principle
I-Inversion principle -
D-Dependency Injection Principle
OOPS - Object Oriented programming system - Four Pillars
Inheritance
Polymorphism
Encapsulation
Abstraction
Instance - all objects can be instances but all instances can not always be alway objects.
Object - Instance of a class.
Initializers - or constructors are the method of declaring the object or class with non nil value or
get properly initialized.
Convenience initializer
Required initializer
Failable Initializer
Default or init Insializer
Self - when something is declared as SELF it is denoting Class type or reference to class type
to class object or property.
self - when something is declared as a self it is showing that this property belongs to class.
Types of methods - don’t know.
Method overriding - method overriding happens on compile time.
Method overLoading - method overLoading happens on run time.
Protocol - it is a keyword that is used when we need to set some rules or protocol to a certain
condition and scenario.
Abstract Class - class that do not have initial value or just working as a protocol setting rules
that any subclass has to accept in case of inheritance.
Polymorphism - when a same function works for two or more kinds of task with new
parameters with the same name, this kind of scenario is known as polymorphism, like a lighter.
In-Out - these keywords used when you have a scenario where the function or method can
change its parameter value or mutate it.
Generic - generic a mechanism of way of writing code so that it can work for multiple data type
with the same concept, when we make our code generic we use generic types so that later we
can decide which type of property or object we can pass or to do operation on.
deepLink - deep link is a process of connecting or routing our app to a website or to a certain
point of the app using a custom URl using url schema’[Link] has its own deepLink called
universal link.
AppID - it is a combination of teamID and app identifier(used to distinguish apps on the same
device with teamID in development environments).
BundleID - it is a combination of teamId and APP ID (used to distinguish apps on appstore).
Assign - when we pass reference to a new property that is called assign.
Retain - when the new property holding a reference and not letting it deallocate is known as
retain.