IOS



1. What is iOS?  

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

Like modern desktop operating systems, iOS uses a graphical user interface, or GUI. However, since it is a mobile operating system, iOS is designed around touchscreen input, rather than a keyboard and mouse. For example, applications, or "apps," can be opened by a single tap, rather than a double-click. Different screens can be viewed by swiping your finger across the screen, rather than clicking on open windows.




2. What is the reuseIdentifier used for?  

The reuseIdentifier is used to indicate that a cell can be re-used in a UITableView. For example when the cell looks the same, but has different content. The UITableView will maintain an internal cache of UITableViewCell's with the reuseIdentifier and allow them to be re-used when dequeueReusableCellWithIdentifier: is called. By re-using table cell's the scroll performance of the tableview is better because new views do not need to be created.



3. Name the framework that is used to construct application's user interface for iOS?  

The UIKit framework is used to develop application’s user interface for iOS. UIKit framework provides event handling, drawing model, windows, views, and controls specifically designed for a touch screen interface.



4. Does iOS support multitasking?  

iOS 4 and above supports multi-tasking and allows apps to remain in the background until they are launched again or until they are terminated.




5. An app is loaded into memory but is not executing any code. In which state will it be in?  

An app is said to be in suspended state when it is still in memory but is not executing any code.




6. What is iPad screen size?  

1024 X 768



7. What is the purpose of the reuseIdentifier? What is the advantage of setting it to a non-nil value?  

The reuseIdentifier is used to group together similar rows in an UITableView; i.e., rows that differ only in their content, but otherwise have similar layouts.

A UITableView will normally allocate just enough UITableViewCell objects to display the content visible in the table. If reuseIdentifier is set to a non-nil value, then when the table view is scrolled, UITableView will first attempt to reuse an already allocated UITableViewCell with the same reuseIdentifier. If reuseIdentifier has not been set, the UITableView will be forced to allocate new UITableViewCell objects for each new item that scrolls into view, potentially leading to laggy animations.



8. How would you create your own custom view?  

By Subclassing the UIView class.



9. What is the difference between Cocoa and Cocoa Touch?  

Cocoa
Cocoa is the application framework for developing applications in Mac OS X.
Cocoa is commonly referred to as the combination of the Foundation and AppKit frameworks,

Cocoa Touch
Cocoa Touch is the application framework for iPhone,iPad and iPod Touch .
Cocoa Touch is the combination of the Foundation and UIKit frameworks.



10. Difference b/w #define and #pragma and #import?  

#define:
There are different ways to create constants in Objective-C, but the easiest way is to use #define statements. #define however is a preprocessor that replaces all instance with it even before compilation starts.

#import:
Objective-C has the #import preprocessor instruction. This does almost the same as #include.The #import line is only replaced by the contents of the named file for the first time it is encountered. Every time after that it is just ignored.

#pragma:
#pragma mark is the fascility for Xcode but it has no impact on your code.It is used for categorizing methods, so you can find your methods easily. It is very useful for long projects.




11. Explain the difference between atomic and nonatomic synthesized properties?  

Atomic and non-atomic refers to whether the setters/getters for a property will atomically read and write values to the property. When the atomic keyword is used on a property, any access to it will be "synchronized". Therefore a call to the getter will be guaranteed to return a valid value, however this does come with a small performance penalty. Hence in some situations nonatomic is used to provide faster access to a property, but there is a chance of a race condition causing the property to be nil under rare circumstances (when a value is being set from another thread and the old value was released from memory but the new value hasn't yet been fully assigned to the location in memory for the property).



12. What are the features is IOS 6?  

i>. Map :beautifully designed from the ground up (and the sky down)
ii>. Integration of Facebook with iOS
iii>. shared photo streams.
iv>. Passbook - boarding passes, loyalty cards, retail coupons, cinema tickets and more all in one place
v>. Facetime - on mobile network as wifi
vi>. changed Phone app - *remind me later,*reply with message.
vii>. Mail - redesigned more streamline interface.
viii>. Camera with panorama .



13. What is App Bundle?  

When you build your iOS app, Xcode packages it as a bundle. A bundle is a directory in the file system that groups related resources together in one place. An iOS app bundle contains the app executable file and supporting resource files such as app icons, image files, and localized content.



14. What is Xcode?  

Xcode is an integrated development environment (IDE) containing a suite of software development tools developed by Apple for developing software for OS X and iOS.



15. What is the difference between #include and #import?  

The #import directive is an improved version of #include.
#import ensures that a file is only ever included once so that you never have a problem with recursive includes.
#import preprocessor automatically keeps track of headers that have been included and ignores if a header is imported more than once
#include allow you to include the same file many times.So, your header files would need header guards to check if a related header file is already included or not.




16. Explain the difference between copy and retain?  

Retaining an object means the retain count increases by one. This means the instance of the object will be kept in memory until it's retain count drops to zero. The property will store a reference to this instance and will share the same instance with anyone else who retained it too. Copy means the object will be cloned with duplicate values. It is not shared with any one else.



17. Who invented Objective c?  

Broad cox and Tom Love.



18. What is Objective c?  

*Objective-C is a reflective, object-oriented programming language which adds Smalltalk-style messaging to the C programming language. strictly superset of c.



19. how declare methods in Objective c? and how to call them?  

- (return_type)methodName:(data_type)parameter_name : (data_type)parameter_name



20. What is property in Objective c?  

Property allow declared variables with specification like atomic/nonatmic, or retain/assign




.Net Interview Question

PHP Interview Question

Java Interview Question

AngularJS Interview Questions