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”
Observe and respond to property changes
What is Property Observer
Property Observer observe and respond to changes in property’s value.
It is called every time a property’s value is set, even if the new value is the same as the old value. Continue reading “Property Observer 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 “iOS beginner’s guide to Enum in Swift”
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”
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”
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”
By default function parameters are constants in Swift.
If you attempt to change a parameter within a function you will get a compiler error.
To Solve this issue and enable a function to have an effect outside its scope we should use In-Out parameters. Continue reading “In-Out parameters in Swift”
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.
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”
Working with Dates in Swift
To start working with dates in iOS you must be familiar with at least these three objects: Date, DateFormatter and DateComponents.
Date is a struct that belongs to the Foundation framework.
It represents a specific point in time independent of any calendar or time zone.
Date structure bridges to the NSDate class.
It provides methods for creating dates, comparing dates and calculating time intervals between dates. Continue reading “Working with Dates in Swift”
Removing Empty Rows from the end of UITableView
Sometimes you have a table view with very few number of rows that are not covering the whole screen height.
In that case Xcode will add extra empty rows to your table view which looks very unprofessional. Continue reading “Remove empty rows at the end of UITableView”