Before starting this blog please refer the blog to know more about

GCD and thread

DispatchWorkItem, DispatchGroup, DispatchBarrier, DispatchSemaphore, DispatchSources

NSOperation queue

Sometimes, we need extra control over the execution. To be able to cancel a task in GCD, create a work item:

If task is not started, then this will be canceled else task can’t be cancelled instead it will set isCancelled value to true.

After we discuss about use of multithread developer might think to create a lot of queue to get better performance but thread creation comes with a cost as we discussed in part 1. …


Next top 20 1st round interview question which need to know before attending any interview.

The application life cycle constitutes the sequence of events that occurs between the launch and termination of application.

  • Not Running state
  • Inactive state
  • Active state
  • Background state
  • Suspended state

To know more about application life cycle refer blog here

which handles the absence of a value. Optional says either “there is a value, and it equals x” or “there isn’t a value at all”.

Optional is a super powered enum which has two values.


(DispatchWorkItem, DispatchGroup, DispatchBarrier, DispatchSemaphore, DispatchSources)

DispatchWorkItem:-

Instead of writing code block under specific queue. You can have a block of code which can be executed on any thread

A DispatchWorkItem is a block of code that can be dispatched on any queue and therefore the contained code to be executed on a background, or the main thread. it can be written as follows

Let’s see a small example to understand how DispatchWorkItem objects are used.


NSOperation, advantage of NSOperation, operation

If want to know about what is thread, multi thread and how gcd works please refer my first blog here.

NSOperation queue:-

Another way to create thread is using operation. After you have created instances of your operations, submit the operations to OperationQueue. The OperationQueue will manage the threads and also responsible for running the operations that you have provided to it.

What is operation? An abstract class that represents the code and data associated with a single task.

Operation States:- Operation object maintain states internally to determine when it is safe to execute and also to notify external clients of the…


gcd, thread, multi thread, process

The most important one which every user expects include execution of demanding tasks in less time, best user experience, no frozen user interfaces, and so on. Now a days every device support multiple CPU cores to achieve this. Multiple cores allow to run multiple processes at the same time. This can be achieved by using multiple thread.

What is process? A process is a program that is running on your computer.

What is Thread? A thread is sequence of instructions that can be executed by a runtime.

What is Multi Thread application? We could say that the application is multithreaded…


Hi friends, in this blog we will discuss about how multiple projects are handled in iOS.

🎯 Challenges which we face with single project.

  • Consider a situation that you have one application that will be published in various countries with some different features but also it have some same features. Instead of keeping duplicate work, you can work similar feature as framework and you can use it in your app.
  • One more use case is :- If you’re working in a big team / your app is very big, it’s better to keep separate project for each work. It helps for CI/CD integration to alert particular team about…


In Xcode 11 & iOS 13 +

Earlier to Xcode 11/iOS 13, when you create a new project, some default files like AppDelegate.swift, ViewController.swift and a Main.storyboard and few other files were created but from Xcode 11 you might have noticed that along with the default files like above, a new file SceneDelegate.swift is also created.

If you’re still confused about what is app life cycle and AppDelegate. Please read my blog application life cycle in iOS.

I hope by now you’re aware of AppDelegate, how app delegate interact to user event and app life cycle. …


  • The application life cycle constitutes the sequence of events that occurs between the launch and termination of application.
  • It is very important to understand for all the iOS Developers, who wants smooth user experience.
  • When user turn on the phone, no applications are running except app which belong to OS.When user tap on your app icon, SpringBoard launches your app.

SpringBoard is the standard application that manages the iPhone’s home screen. Other tasks include starting WindowServer, launching and bootstrapping applications and setting some of the device’s settings on startup

  • While springboard animates your app’s launch screen, your app and necessary…


It is used to restrict parts of your app’s source code. This essentially helps for prohibiting other modules, frameworks, classes and code from using your code.

Advantages:

  • Ability to clearly define a public API for your code
  • Hide private implementation details

The 5 Access Levels In Swift

  1. open and public — anyone can access, within the module, and in code that imports the module
  2. internal — anyone can access, but only within the module (default)
  3. fileprivate — anyone can access, but only within the current Swift file
  4. private — only the enclosing declaration can access, such as a class or struct.

The default access level in…


To make your app beautiful in any screen and orientation is a challenging task. Autolayout make it easy to support different screen sizes in your apps. First will try to understand the autolayout fundamental before learning programatic layouts. Click here to know about autolayout fundamental.

There are two ways you can write autolayout in code.

  1. Using Auto Layout Visual Format Language.
  2. Using Layout Anchors.

In this blog, I’l try to cover most of the things about Anchors and how to debug the layout error.

  • Call addSubview so that view is in the hierarchy.
  • Set translatesAutoresizingMaskIntoConstraints = false
  • Create constraints and…

Manasa M P

iOS Developer in walmart

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store