Execution States of iOS Application

As an iOS developer you should know the different states of iOS app and understand the difference between them

At any given moment your iOS app will be in one of those states listed below

iOS app states

Not Running

You app will be in this state if it was not launched yet or was terminated by the system.


This is a transition state, your app goes in Inactive state for a short time when launching it. Continue reading “Execution States of iOS Application”

Atomic and Nonatomic properties in Objective C

The favorite interviewer’s question for iOS developers

What is the difference between Atomic and Nonatomic properties in iOS

This has been the favorite question in iOS developer job interviews for many years.

And it is also the first question a beginner iOS developer ask once he sees the declaration of a property in Xcode like this:

@property (nonatomic , strong) NSString *firstName;

The short answer is: Continue reading “Atomic and Nonatomic properties in Objective C”

Beginner’s guide to Enum in Swift

Swift version of Enum is much more powerful

What is Enum

Enum is a data structure that can only has discrete values.

It is always used if you need to store a group of related values like directions on map or compass(North, East, West, South), status of download process (Completed, Cancelled, Paused, Downloading) and so on. Continue reading “Beginner’s guide to Enum in Swift”

iOS developer’s guide to NSAttributedString in Swift 3

Customize every single character in your string

What is NSAttributedString

It is an object that manages string and associated set of attributes applied to individual characters or range of characters.

It is a class belongs to the Foundation framework and it is NOT a subclass of NSString. Instead it contains NSString object that it applies attributes to.

The cluster has two public class NSAttributedString and NSMutableAttributedString Continue reading “iOS developer’s guide to NSAttributedString in Swift 3”

How to add custom font to iOS app in Xcode

You can add True Type Font (.ttf) or Open Type Font (.otf) to your app and use it the same way you use font provided by iOS.

Add your font file to your Xcode project

From menu bar select File->Add Files to “project_name” or just drag font files to your project Continue reading “How to add custom font to iOS app in Xcode”

Custom controls using @IBDesignable and @IBInsepectable

You can design custom controls and render them in real time from Interface Builder using @IBDesignable and @IBInspectable attributes.

In the following example we will create a custom UIButton and change its corner radius, border color and border width from InterFace Builder with the help of @IBDesignable and @IBInspectable attributes. Continue reading “Custom controls using @IBDesignable and @IBInsepectable”

How to change UILabel height dynamically to fit all text

In two steps we can make a UILabel change its height dynamically without writing code.

UILabel dynamic height

First select your UILabel and from “Identity inspector” set number of lines property to 0.

UILabel dynamic height

Next add Top, Trailing, Leading and Height constraints then select the height constraint and change its “Relation” property from “Equal” to “Greater Than or Equal” Continue reading “How to change UILabel height dynamically to fit all text”