IOS Interview Questions

IOS Interview Questions Download IOS Interview Questions PDF

IOS Interview Questions

Interactor can be directly interacted by ViewController after sending requests. The Interactor then responds to the requests by sending presenter a Response with data model. The Presenter formats data to be displayed creates a ViewModel and notifies the ViewController that it should update its View based on the ViewModel. ViewController decides when the navigation to a different scene should happen by calling a method on a Router. The Router performs setup of the next View Controller and deals with wiring, passing data and delegation setup. When compared to VIPER, the difference is that the ViewController itself contacts Router for navigation.
Learning user habits and most importantly, acting on the information gathered has never been easier! With the excellent mechanisms of Intelligent Search as well as Siri-Intelligent Search, life is much more tech dependent and hence, easier. These can basically be used to open apps directly without command, for recommendations on restaurants or any kind of reservations and for guiding the user through the daily lives in order to ensure a smooth routine. Siri is a famous personal assistant to the iOS users.

It is capable of creating contextual reminders and even employ search to find a particular photo or video from the gallery in innovative ways. It does more than ensuring that we are where we need to be at any particular time. Going right from the home screen of the device shows “Siri Suggestions”. This screen is home to all your favourite apps and contacts, restaurants, information about the location and more important news from the web.

For more extensive search, Siri can display capabilities for deeper search and come up with results like videos, sports scores, content from other third-party apps, and more. Simple conversations and calculations can also be done using the handy search tools available on iPad or iPhone. Many inbuilt apps have also been upgraded for improved performance.

  • ✓ The app for Notes has new sketching features and checklists.
  • ✓ The maps include transit directions in addition to the usual features.
  • ✓ File attachments are possible with Mail.
  • ✓ The brand new app for News intelligently studies your interests and then personalizes the news to relevant content which is of interest to you.
  • ✓ The transaction app, Apple Pay, now comes with added store credit cards as well as loyalty cards.
  • ✓ iOS 9 has updated the leading app “Passbook” to “Wallet”.
  • In addition to these, the operating system has updated to wireless CarPlay support for an elective app from iCloud Drive, San Fransico type font, inbuilt two-factor type authentication as well as elective longer passwords for improved security.
IBOutlet and IBAction are macros that are defined to denote methods and variables that can be referred to in the Interface Builder.
IBAction resolves to void whereas IBOutlet resolves to nothing, but yes, they signify to Xcode and Interface Builder that these methods and variables can be used in Interface builder to link UI elements to your code.
Iterator protocol is best understood as one that is tightly linked with the Sequence protocol. As the sequences are known to provide access to its elements after creating an iterator, as it also keeps a track of the iteration process and returns one element at a time as it advances through the sequence. A set of good examples are available on the differences of IteratorProtocol from ‘for loop’ and ‘while loop’.
Assign is the default in terms of Objective C, and thus should be used for attributes that are not pointers; whereas retain is required when the attribute is a pointer to any specific object.
When you want to upload a data in the request body, which is protocol URLSessionDataDelegate that is known as an URL Session. It is a defining method of protocols that an URLSession instances call the delegates that can handle task-level events, which are specific to upload tasks and data. So, when we are planning to retrieve contents from a particular URL, we generally choose URLConnection to use. Basically, there are 3 types of tasks;
  • Getting data to memory also known as Data task
  • Downloading file to disk  also known as Download tasks
  • uploading a file from the disk and then receiving the response as data in the memory, which is known as Upload tasks
Viper architecture is another design pattern, which has five layers namely, Interactor, View, Router, Entity, and Presenter. It is completely based on Single Responsibility Principle.

The main advantage of viper architecture is its ability for communication from one entity to another that is made known through protocols. The idea is to isolate the app’s dependencies by balancing the delegation of responsibilities among the entities.

To indicate the availability of Swift declaration to Objective-C it is tagged with @objc.to make it readily available to Objective-C, in Swift 3 many declarations inferred automatically. The most common place for this is any Swift method we want to refer to using a selector.
Rethrows is a very special keyword that can be used in conjunction beside closures that can throw errors. Generally, with rethrow exception we can throw inside the closure as and when the error handlers are summoned inside the function. The keyword indicates to the compiler that if the closure is passed in throws, which is basically a throwing function of outer function then an error is propagated to the current scope.