0% found this document useful (0 votes)
39 views

iOS FAQ

iOS is a mobile operating system developed by Apple that originally was called iPhone OS but was renamed to iOS in 2009. It runs on iPhone, iPod touch, and iPad. Cocoa Touch is the application development environment for iOS and includes Foundation and UIKit frameworks, while Cocoa is for OS X and includes Foundation and AppKit. Design patterns like Singleton, Decorator, and Observer are commonly used in Cocoa. The reuseIdentifier is used to group similar table view rows. Abstract classes in Cocoa are classes that are not provided by Cocoa. Common iOS execution states include not running, inactive, active, background, and suspended.

Uploaded by

MohaMed Rebin
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views

iOS FAQ

iOS is a mobile operating system developed by Apple that originally was called iPhone OS but was renamed to iOS in 2009. It runs on iPhone, iPod touch, and iPad. Cocoa Touch is the application development environment for iOS and includes Foundation and UIKit frameworks, while Cocoa is for OS X and includes Foundation and AppKit. Design patterns like Singleton, Decorator, and Observer are commonly used in Cocoa. The reuseIdentifier is used to group similar table view rows. Abstract classes in Cocoa are classes that are not provided by Cocoa. Common iOS execution states include not running, inactive, active, background, and suspended.

Uploaded by

MohaMed Rebin
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

iOS FAQ's

1) Define iOS?

iOS is a mobile operating system which was developed by Apple Company. It was originally
named as the iPhone OS, but it was renamed to the iOS in June 2009. This iOS currently runs on
the iPhone, iPod touch, and iPad.

2) Differences between the Cocoa and Cocoa Touch?

Cocoa Cocoa Touch


It is an application development
It is application development environments for OS X
environments for iOS
It includes Foundation and UIKit
It includes the Foundation and AppKit frameworks
frameworks
It is used to refer any class/object which is based on It is used to refer the application
the Objective-C runtime & inherits from the root development using any programmatic
class interface

3) Why the design pattern is important?

Design patterns are the reusable solutions to the common problems in software design. Most
commonly used Cocoa design patterns are as follows:

 Creational: Singleton.
 Structural: Decorator, Adapter, Facade.
 Behavioral: Observer, and, Memento

4) What is the usage of reuseIdentifier?

The reuseIdentifier is used to group the similar rows together in an UITableView. That is the
rows that differ only in their content, otherwise, have similar layouts.

5) Explain the Abstract class in Cocoa?


If the Cocoa doesn't provide anything then that is called Abstract. We can create the class
abstract that gets checked at the runtime if it not checked at compile time.

6) What are the common execution states in iOS?

The common execution states in iOS are:

1) Not Running: When the app is completely switched off, and no code is being executed.
2) Inactive: When the app is running in the foreground without receiving any events.
3) Active: When the app is running in the foreground and receiving events.
4) Background: When the app is executing code in the background.
5) Suspended: When the app is in the background but it is not executing any code.

7) What is meant KVC and KVO in iOS?

Full form of KVC is Key-Value Coding. It's a mechanism by which is used to access an object's
properties using string's at runtime rather than having to statically know the property names at
development time. KVO stands Key-Value Observing and allows a controller or class to observe
the changes to property value.

8) What is frame and bound of a view in iOS?

Bound is a rectangle that relative to its own coordinate system (0,0). The frame is the rectangle
that relative to the superview.

9) Explain about Nil Coalescing and Ternary Operator?

NilCoalescing & Ternary Operator can simply be interpreted for an easy return and optional
value can be unwrapped. In the case of not having any value to assign, we can set zero or any
other default value.

10) What is CodingKey Protocol?

The CodingKeys enum renames the specific properties in case the serialized format doesn’t
match with the requirements of the API. CodingKeys should have the nested enum.

11) What are the solid principles in an iOS application?


Solid principles are:

S- Single responsibility principle


O- Open closed principle
L- Liskov substitution principle
I- Interface segregation principle
D- Dependency Inversion principle

12) Explain about Content offset?

While scrolling the scrollView properties may change in the process it is known as offset. The
scrollView can calculate the new bounds and redraw any of its subviews.

13) Which is the application thread from where UIKit classes should be used?

UIKit classes must be used only from an application’s main thread.

14) Explain about MVC?

Model- Models are responsible for the domain data or a data access layer which can manipulate
the data, think of ‘Person’ or ‘PersonDataProvider’ classes.
Views— Views are responsible for the presentation layer, for iOS environment thinks about
everything starting with ‘UI’ prefix.
Controller— The mediator between the Model and the View, In general, it is responsible for
altering the Model by reacting to the user’s actions performed on the View and updating the
View with changes from the Model.

15) What are the rendering options for JSONSerialization?

1) MutableContainers: Arrays and dictionaries are created as variable objects, not as constants.
2) MutableLeaves: Leaf strings in the JSON object graphs are created as instances of variable
strings.
3) allow fragments: The parser should allow top-level objects that are not an instance of the
arrays or dictionaries

16) What is an App ID?


An App data is a two-part string to identify one or more apps from a single development team
and the string consists of a Team ID and a bundle ID search string, with a period (.) separating of
two parts.

17) Draw the Structure for Responder chain?

18) What are the Delegate and Notification?

Delegate: It creates the relationship between the objects and which is one to one communication.
Notification: These are used if an object wants to notify to the other objects of an event and it is
one to multiple communication.

19) What are the reasons to use the higher-order functions?


Higher-order functions can simply be interpreted as the functions that can take up the value of
another function as a parameter, or a return function. These functions are the collective type and
filter is expressed as a basic higher-order function.

20) What is URLSession?

When we want to retrieve the contents from a certain URL, we need to choose the use of URL
Connection. There are three types of tasks in URLSession:

Data tasks: This is used for getting data to memory


Download tasks: This task is used to downloading a file to disk
Upload tasks: This task is used for uploading the file from disk and receiving a response as data
in memory

21) What is Dependency inversion principle?

It is defined as the higher level module should not depend on the lower level module, but they
can depend on abstractions and the entities also must depend on abstractions, not on concretions.

22) How the retain is different from assign?

Assign is default in terms of Objective C, and this should be used for attributes that are not
pointers.
Retain is required when the attribute is used as a pointer to any specific object.

23) Which API would you use to write test scripts to exercise the application’s UI
elements?

UI Automation API is used to automate the test procedures. JavaScript tests the scripts that are
written to the UI Automation API. Simulate the user interaction with the application and return
the log information to the host computer.

24) What is made up of NSError object?

There are three parts are present in the NSError object. They are
1) A domain,
2) An error code, and
3) A user info dictionary.

25) Define bundle in iOS?

A bundle is a directory in the file system which is having all executable code and related
resources such as images and sounds together placed in one place.

26) What is SnapKit that make a difference from Auto layout?

SnapKit is used to do Auto Layout on both iOS and OS X with code, and we should use two
libraries with that.

27) What are the different types of NSLayoutAnchor?

There are 3 subclasses present in NSLayoutAnchor:

1) NSLayoutXAxisAnchor: Horizontal constraints can be created using this subclass.


2) NSLayoutYAxisAnchor: Vertical constraints can be created using this subclass.
3) NSLayoutDimension: This subclass is used to create the width and height of the constraints.

28) What is Xcode, Cocoa and Objective C?

Xcode: It is an integrated development environment (IDE). In this, the developer uses to write
software for IOS or OS X.
Objective-C: It is the language most commonly preferred by developers to write programs for
Apple.
Cocoa: Cocoa is the application

29) What are the steps in getting Request?

We will create the task and send the request to th server to process it. We are going to receive the
data back from the server and we only have to handle it based on the errors and the data is.

30) Mention what are the build phases available in Xcode?

There are three build phases in Xcode that are available by default
1) Compile Sources
2) Link binary with libraries
3) Copy bundle resources

You might also like