Next Generation ABCD for iOS developers

Pradeep Dahiya (Apple Developer)
4 min readApr 30, 2021

If you are looking for short answers to clear interviews then this blog is not for you buddy. In this blog, I tried to explain some basic topics related to iOS development in a normal way with some real world examples.It’s a bit lengthy one. But worth reading it. I guarantee !!!

A

AppDelegate : It’s a singleton class which acts as a delegate of your application. It ensures your app interacts properly with the system and with other apps.

It’s like it plays a role of mother in your application. Everything starts from here and ends up here

B

Bang ! operator : Its an operator used for force unwrapping an optional variable to extract out its actual value.

It’s like Thor’s hammer which allows you to simply force unwrap anything. Give users a crashing experience, they really love it.

C

Class: building blocks of your program’s code.

Consider this as a room in your house. You should keep your room neat and tidy to impress your girlfriend 😜.

D

Dependency injection : it means giving an object its instance variables. Really. That’s it. — James Shore

In real world you can’t create room without some essentials like light or fan it’s up to you how you manage(inject) all essentials(Dependency) to your room(class/struct)

E

Extensions : Extensions can add new functionality to a type, but they can’t override existing functionality. confusing check out this 👇

Compare extensions with studio apartments with everything under one flexible roof but having dedicated space, means use of extensions in Swift can make code super nice and readable.

F

Functions : You define a function with the func keyword. Functions can take many parameters and return none, one or multiple parameters.

Easiest thing to understand, can be defined as a feature of any object e.g human can walk.

G

Generics : Generic code enables you to write flexible, reusable functions and types that can work with any type, subject to requirements that you define.

Do you have a robot that can drive? Means can operate everything from cycle to space ship. If yes then its a generic operator 💪

H

Header or bridging Header : Allows you to use both languages inside the same app

Simply one bridge which connects two different worlds (Objective C $ Swift)

I

Instance Methods : Instance methods are methods which require an object of its class to be created before its call.

J

Jobs Steve: i don’t think here i need to say anything about such a great personality.

“Stay hungry Stay foolish”

K

Keychain : The keychain is the best place to store small secrets, like passwords and cryptographic keys.

L

Library : The Swift standard library defines a base layer of functionality for writing Swift programs, including:

Basically it’s like a raw material for a building

M

MapKit : Use MapKit to give your app a sense of place with maps and location information. You can use the MapKit framework to:

  • Embed maps directly into your app’s windows and views.
  • Add annotations and overlays to a map for calling out points of interest.
  • Provide text completion to make it easy for users to search for a destination or point of interest.

Powerful competitor for other maps options available in the market really awesome.

N

Notifications : Local and push notifications are great for keeping users informed with timely and relevant content, whether your app is running in the background or inactive.

Magical way to keep your users awake and active.

O

Objective C : old school a bit complex too but most secure and reliable language.

P

Protocols: A protocol defines a blueprint of methods, properties, and other requirements that suit a particular task or piece of functionality.

Didn’t get this okay consider this as a table of content of a book. Book adopts those defined topics(Protocols) and inside you can find details (definition) for the same.

Q

Quartz : Allow users to browse, edit, and save images, using slideshows and Core Image filters.

Try to make great animations with Quartz

R

Reactive Programming : In computing, reactive programming is a declarative programming paradigm concerned with data streams and the propagation of change.

That wiki says, I would say it’s a great approach to deal with complex things simply. comes late but you can feel it within swiftUI.

S

Swift : Powerful smart and advance version for Apple Programming

T

Testflight : used to distribute prerelease build to testers or key persons simple secure platform for beta testing.

U

UIKit : The UIKit framework provides the required infrastructure for your iOS or tvOS apps.

Don’t even think to design a single page without ui components

V

ViewController : innocent dude you can assign as many as responsibility to him he won’t react

W

WWDC : World Wide Developer Conference

If you are looking for a conference having unbiased views or opinions on iOS development then WWDC is the one.

X

Xcode : Powerful IDE with great support of debugger and single destination for all apple platforms development.

Y

Y = Why = ? = Optionals

Swift also introduces optional types, which handle the absence of a value. Optionals say either “there is a value, and it equals x” or “there isn’t a value at all”

Z

Zombie variables : Apple Docs says Once an Objective-C or Swift object no longer has any strong references to it, the object is deallocated. Attempting to further send messages to the object as if it were still a valid object is a “use after free” issue, with the deallocated object still receiving messages called a zombie object

Use when there is no other way to find a ghost crash.

--

--