This Method is loaded once in view controller life cycle. Its Called When all the view are loaded. You Can do Some common task in this method

Download 19.8 Kb.
Hajmi19.8 Kb.
List of questions for middle iOS developer

List of questions for middle iOS developer

  1. What’s the View lifecycle?


This Method is loaded once in view controller life cycle .Its Called When all the view are loaded .You Can do Some common task in this method :

1.Network call which need Once.

2.User Interface

3.Others Task Those are Need to do Once


This Method is called every time before the view are visible to and before any animation are configured .In this method view has bound but orientation not set yet.You can override this method to perform custom tasks associated with displaying the view such as to hide fields or disable actions before the view becomes visible.


It don’t do Nothing by default. When a view’€™s bounds change, the view adjusts the position of its subviews. View controller can override this method to make changes before the view lays out its subviews.


This method is called after the viewController has been adjust to its subview following a change on its bound.Add code here if you want to make change to subviews after they have been set.


This Method is called after the view present on the screen. Usually save data to core data or start animation or start playing a video or a sound, or to start collecting data from the network This type of task good for this method.


This method called before the view are remove from the view hierarchy.The View are Still on view hierarchy but not removed yet . any unload animations haven’t been configured yet. Add code here to handle timers, hide the keyboard, cancel network requests, revert any changes to the parent UI. Also, this is an ideal place to save state.


This method is called after the VC’s view has been removed from the view hierarchy. Use this method to stop listening for notifications or device sensors.

  1. What Is Core Data?

Core Data is a framework that you use to manage the model layer objects in your application. It provides generalized and automated solutions to common tasks associated with object life cycle and object graph management, including persistence.

  1. Why Core data is used for?

Core Data typically decreases by 50 to 70 percent the amount of code you write to support the model layer. This is primarily due to the following built-in features that you do not have to implement, test, or optimize:

  • Change tracking and built-in management of undo and redo beyond basic text editing.

  • Maintenance of change propagation, including maintaining the consistency of relationships among objects.

  • Lazy loading of objects, partially materialized futures (faulting), and copy-on-write data sharing to reduce overhead.

  • Automatic validation of property values. Managed objects extend the standard key-value coding validation methods to ensure that individual values lie within acceptable ranges, so that combinations of values make sense.

  • Schema migration tools that simplify schema changes and allow you to perform efficient in-place schema migration.

  • Optional integration with the application’s controller layer to support user interface synchronization.

  • Grouping, filtering, and organizing data in memory and in the user interface.

  • Automatic support for storing objects in external data repositories.

  • Sophisticated query compilation. Instead of writing SQL, you can create complex queries by associating an NSPredicate object with a fetch request.

  • Version tracking and optimistic locking to support automatic multiwriter conflict resolution.

  • Effective integration with the macOS and iOS tool chains.

  1. What is SOLID and its principles:

It is design principles intended to make software designs more understandable, flexible and maintainable.
Single responsibility principle: a class should have only a single responsibility (i.e. changes to only one part of the software’s specification should be able to affect the specification of the class).

Open/closed principle: software entities … should be open for extension, but closed for modification.

Liskov substitution principle: objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program.

Interface segregation principle: many client-specific interfaces are better than one general-purpose interface.

Dependency inversion principle: one should “depend upon abstractions, [not] concretions.”

  1. List and explain the different types of iOS Application States.

The iOS application states are as follows:

  • Not running state: The app has not been launched or was running but was terminated by the system.

  • Inactive state: The app is running in the foreground but is currently not receiving events. (It may be executing other code though.) An app usually stays in this state only briefly as it transitions to a different state. The only time it stays inactive for any period of time is when the user locks the screen or the system prompts the user to respond to some event (such as an incoming phone call or SMS message).

  • Active state: The app is running in the foreground and is receiving events. This is the normal mode for foreground apps.

  • Background state: The app is in the background and executing code. Most apps enter this state briefly on their way to being suspended. However, an app that requests extra execution time may remain in this state for a period of time. In addition, an app being launched directly into the background enters this state instead of the inactive state.

  • Suspended state: While suspended, an app remains in memory but does not execute any code. When a low-memory condition occurs, the system may purge suspended apps without notice to make more space for the foreground app.

  1. What are rendering options for JSONSerialization?

MutableContainers: Arrays and dictionaries are created as variable objects, not constants.

MutableLeaves: Leaf strings in the JSON object graph are created as instances of variable strings.

allowFragments: The parser should allow top-level objects that are not an instance of arrays or dictionaries.

  1. What’s Application lifecycle?








  1. Difference between Structure and Class?

Class is reference type and Structure is value type. Structure can not be inherit.

  1. What is the difference between strong and weak in iOS?

Strong property attribute have full control over object .its remains long life in memory but after setting nil ,it releases memory.

Weak property attribute have not full control over object. after variable scope ,it

automatically release memory.

Nonatomic is unsafe. multiple threads can access a single object at a time. it is faster

than atomic.

  1. What is reuseIdentifier?

The reuseIdentifier is used to group together similar raws in an UITableView.

  1. What is memory leak?

A memory leak is a type of resource leak that occurs when a computer program

incorrectly manages allocation.

  1. Where do we use dependency injection?

We use a UIStoryboad or xib in our iOS app, then we created IBOutlets. IBOutlet is a

property related to a view. These are injected into the view controller when it initialised, which is essentially a form of dependency injection.

  1. What is the Difference Between Git and SVN?

The difference between Git and SVN version control systems is that Git is a distributed version control system, whereas SVN is a centralized version control system. Git uses multiple repositories including a centralized repository and server, as well as some local repositories. SVN does not have a centralized repository or server.
Download 19.8 Kb.

Do'stlaringiz bilan baham:

Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan © 2024
ma'muriyatiga murojaat qiling