1. What is Cococa and cocoa touch?

Cocoa is for Mac App development and cocoa touch is for apples touch devices - that provide all development environment

2. Explain "private", "Protected" and "Public"?

☛ private - limits the scope class variable to the class that declares it.
☛ protected - Limits instance variable scope to declaring and inheriting classes.
☛ public - Removes restrictions on the scope of instance variables

3. What is "Push Notification"?

to get the any update /alert from server .

4. What is Category in Objective c?

A category allows you to add methods to an existing class-even to one for which you do not have the source.

5. What is the meaning of "strong"keyword?

*strong -o "own" the object you are referencing with this property/variable. The compiler will take care that any object that you assign to this property will not be destroyed as long as you (or any other object) points to it with a strong reference.

6. what is use of NSOperation? how NSOperationque works?

An operation object is a single-shot object-that is, it executes its task once and cannot be used to execute it again. You typically execute operations by adding them to an operation queue An NSOperationQueue object is a queue that handles objects of the NSOperation class type. An NSOperation object, simply phrased, represents a single task, including both the data and the code related to the task. The NSOperationQueue handles and manages the execution of all the NSOperation objects (the tasks) that have been added to it.

7. What is synchronous web request and asynchronous?

In synchronous request main thread gets block and control will not get back to user till that request gets execute.
In Asynchronous control gets back to user even if request is getting execute.

8. Explain difference between release and autorelease?

release - destroy the object from memory,
autorelease - destroy the object from memory in future when it is not in use.

9. Explain what is Garbage Collection?

Garbage Collection is a Memory Management feature. It manages the allocation and release of the memory to your applications. When the garbage collector performs a collection, it checks for objects in the managed heap that are not executed by the applications.

10. Enlist the methods to achieve Concurrency in iOS?

The following listed are the methods to achieve concurrency functionality in iOS:
☛ 1. Threads
☛ 2. Dispatch Queues
☛ 3. Operation Queues

Download Interview PDF

11. Enlist Frameworks for Cocoa?

The Frameworks developed for Cocoa are listed as follows:
☛ 1. Foundation
☛ 2. Application Kit

12. Explain me what is Polymorphism?

It enables a methods to exhibit different behaviours under different instances. The task of creating a Function or an Operator behave differently in different instances is known as Operator Overloading which is an implementation of Polymorphism.

13. What is plist?

Plist represents Property Lists. It is a key-value store for the Application to Save and Retrieve persistent data values. This is specifically used for iPhone development. It is basically and XML File.

14. Explain me 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.

16. Who invented Objective c?

Broad cox and Tom Love

17. What is difference between "assign" and "retain" keyword?

☛ Retain -Specifies that retain should be invoked on the object upon assignment. takes ownership of an object
☛ Assign - Specifies that the setter uses simple assignment. Uses on attribute of scalar type like float,int.

18. What is block in objective c?

Blocks are a language-level feature added to C, Objective-C and C++, which allow you to create distinct segments of code that can be passed around to methods or functions as if they were values. Blocks are Objective-C objects, which means they can be added to collections like NSArray or NSDictionary. They also have the ability to capture values from the enclosing scope, making them similar to closures or lambdas in other programming languages.

19. Explain me what is ARC? How it works?

Automatic reference counting (ARC) If the compiler can recognize where you should be retaining and releasing objects, and put the retain and release statement in code.

20. How to download something from the internet?

By Using NSURLConnection , by starting connection or sending synchronous request.

21. What happens if the methods doesn't exist?

App will crash with exception unrecognized selector sent to instance.

22. Explain ARC?

ARC represents Automatic Reference Counting. It is a Compiler level feature that simplifies the process of managing the lifetimes of Objects in Objective – C. ARC evaluates the Lifetime requirements of Objects and automatically includes appropriate Methods to be called during Compilation.

23. Explain App ID?

It is primarily used to identify one or more apps from a Unique Development team. It consists of a string divided into two parts. The string includes a Team ID and a Bundle ID Search String with a separator as a period. The Team ID is allocated by Apple and is different for every development team. A Bundle ID Search String is supplied by the App Developer.

24. Explain keywords alloc and new?

The alloc keyword is used to create a New Memory Location in the System. However, it does not initialize it. In case of New keyword, it also helps to create a New Memory Location in the system. However, it can initialize the Contents unlike the alloc keyword.

Download Interview PDF

25. What is a Protocol in Objective-C Programming Language?

A Protocol is used to define a list of required optional methods that a class needs to implement. If a class adopts a protocol, it must implement all the needed methods in the protocols it adopts. It is identical to an Interface in Java and also to a purely Virtual Class in C++. Cocoa uses protocols to support interprocess communication through Objective-C messages.