Cocoa Touch Interview Questions & Answers

3 avg. rating (60% score) - 5880 votes

Cocoa Touch Interview Questions

    1. Question 1. What Do You Understand By Cocoa?

      Answer :

      Cocoa is a suite of object-oriented software libraries that develop OSX and iOS apps. Cocoa is an application environment and a runtime system where apps are developed using Swift language and Objective C. Objective C is based out of ANSI C. While developing a cocoa application, ANSI C code can be mixed with Objective C code. Cocoa applications can also include C++ code.

      Cocoa has three frameworks namely-

      1. Foundation framework which a part of the core service layer.
      2. App Kit framework.
      3. Core data framework.

    2. Question 2. Elaborate On The Meaning Of Application Kit?

      Answer :

      Application kit is a framework that contains all the objects and details needed to implement the graphical and event-driven user interface. It also manages all the information as it draws on the screen efficiently, communicates with hardware devices and clear areas of the screen before drawing. You can choose at which level you want to use the application kit. Create connections from user interface objects to application objects with the help of interface builder. Control the user interface programmatically and implement your own objects sub classing NSView.

    3. Question 3. What Does Cocoa Offers?

      Answer :

      Cocoa offers numerous benefits to its users. It supports event-driven behavior that helps in managing applications, windows, and workspaces. In interface builder, cocoa has a huge pool of user interface objects. UI objects like windows, buttons, tables, etc can be dragged and dropped from interface builder or can be created using code.

      Cocoa supports the following:-

      • Internationalization.
      • Handles undo and redo management.
      • Basic printing to advance printing such as content formatting and pagination.
      • Different text representations and application preferences.
      • Concurrency, lazy loading.

    4. Question 4. Enlist The Different Layers Of Mac Osx?

      Answer :

      The different layers of MAC OSX are as follows:-

      User Experience:

      • Aqua
      • Spotlight
      • Dashboard
      • Accessibility

      Application services like graphics and media:

      • Core image
      • Core video
      • Quartz
      • OpenGL

      Core services:

      • Carbon core
      • Core foundation
      • Foundation

      Application frameworks:

      • Applet
      • Java
      • Carbon

    5. Question 5. What Are The Performance Tools Available For Cocoa Application Development?

      Answer :

      The following performance tools are available for cocoa application development:

      Instruments- The instruments are used to display memory statistics, CPU usage, disk data, and network statistics and thread activities.

      Big top-Big tops show the graph performance trends

      Malloc debug- This gives us an insight into how much memory is allocated to different functions. It tells us how much memory a function is consuming and also finds leaks by checking allocated memory that is not referenced anywhere in the program.

      Shark- Shark track function calls and graphs memory allocation.

      Quartz debug- It helps debug applications that do large amounts of drawing.

    6. Question 6. Elaborate Foundation Framework. Enlist Its Important Features?

      Answer :

      Foundation framework provides a set of useful object classes and also introduces several paradigms that are not covered by Objective-C language. The foundation framework defines the base for Objective-C classes. It aids the task of software development by facilitating consistent conventions for deallocation. To enhance portability, Foundation framework provides a layer of OS independence. The foundation framework is grouped into value objects, collections, notifications, spotlight queries, predicates, and expressions, etc.

      Some of the notable features of foundation framework are as follows:

      • It supports object persistence and object distribution.
      • The foundation class hierarchy t is routed at NSObject class with NSObject and NSCopying protocols.
      • With Unicode strings and bundle technology, foundation framework supports internationalization and localization.

    7. Question 7. State The Important Classes In Cocoa?

      Answer :

      There are several classes in cocoa. The notable ones are:-

      NSNumber: it represents objects that contain integers, doubles, and floats.

      NSDate: it is used for displaying dates and times in various formats.

      NSXMLParser: it is used to process XML data.

      NSArray: it uses zero-based indexing for an ordered collection of objects.

    8. Question 8. What Is The Meaning Of Core Data?

      Answer :

      Core data is a Cocoa framework that helps in managing object graphs and persistent storage. It saves model objects to a persistent store and also helps to fetch them. The main motive of core data is the managed objects which are the instances of NSManagedObject.

    9. Question 9. Highlight The Differences Between Cocoa And Cocoa Touch?

      Answer :

      Cocoa is an application framework that assists in the development of applications in MAC OS X environment. It is an amalgamation of two frameworks namely Appkit framework and Foundation Framework.

      Cocoas touch is an application framework for Apple products like iPad, iPhone and iPod Touch. It is basically a combination of Foundation Framework and UIKit Framework.

    10. Question 10. Differentiate Between Objective-c And C/c++?

      Answer :

      Objective-C:

      • In Objective-C, the method and the variable have to be of exactly the same name.
      • The message overloading is faked by naming a parameter and we have to mangle the names manually.
      • Objective-C does not have references.
      • In Objective-C, templates are not available.
      • For differentiating between class methods, Objective-C uses + and -.

      C++:

      • In C++, the name of the method and the variable has to be different.
      • C++ does the same work but instead of doing it manually, the compiler does the name mangling for us.
      • C++ enjoys an advantage over Objective-C when it comes to references.
      • Templates are available in C++ because C++ has strong typing and static bidding.
      • For differentiating between class methods, C++ uses static to specify the factory method.

    11. Question 11. What Are Cocoa Touch Key Frameworks For Developing Applications?

      Answer :

      Cocoa touch has some frameworks and it looks like:

      1. App Kit framework
      2. Core data framework
      3. Foundation framework
      4. Push Kit Framework
      5. Twitter Framework
      6. Event Kit UI Framework
      7. Message UI Framework

      And so on

    12. Question 12. What Are The Differences Between Cocoa Touch And Cocoa?

      Answer :

      Cocoa touch is an application framework for Apple products like iPad, iPhone and iPod Touch.

      Cocoa is an application framework that helps in the development of applications in MAC OS X environment.

      Both Cocoa and Cocoa Touch sit on top of other collections of frameworks to create the API stacks.

      For Application Framework:-

      1. Cocoa is the application framework for Mac OS X.
      2. Cocoa Touch is the application framework for iPhone and iPod Touch.

      For Frameworks:-

      1. Cocoa - Foundation and Appkit
      2. Cocoa Touch - Foundation and UIKit

      For API:-

      1. Cocoa - All the classes used in Cocoa have the NS prefix Exp: NSTextField
      2. Cocoa Touch - classes used in Cocoa have the UI prefix Exp: UITextField

      For MVC patterns:–

      1. Cocoa - Cocoa has multiple alternative design patterns – in addition to MVC.
      2. Cocoa Touch - The iPhone SDK has a reinforced MVC system, which performs better than the default MVC in Cocoa.

    13. Question 13. What Does Cocoa Touch Offers?

      Answer :

      Cocoa touch supports event-driven behavior that helps in managing applications, windows, and workspaces.

      Cocoa has a user interface objects like windows, buttons, tables, etc. These features can drag and dropped from interface builder and its code created automatically.

      Cocoa supports the following :-

      1. Drawing and imaging
      2. Lazy loading
      3. Multithreading
      4. Handles undo and redo management
      5. Internationalization
      6. Content formatting and pagination
      7. Data exchange using Copy Paste and Drag Drop
      8. Audio and Video using QuickTime framework

    14. Question 14. What Is Xcode?

      Answer :

      XCode is the engine that powers Apple IDE (integrated development environment) for OSX and iOS.

    15. Question 15. What Are The Important Classes In Cocoa?

      Answer :

      There are many more classes are available:-

      1. NSDate
      2. NSNumber
      3. NSArray
      4. NSNumber
      5. NSXMLParser

    16. Question 16. What Frameworks Those Make Cocoa?

      Answer :

      1. Foundation
      2. Appkit (Application Kit)

    17. Question 17. What Are The Differences Between Copy And Mutable Copy?

      Answer :

      1. Copy always creates an immutable copy.
      2. Mutable Copy always creates a mutable copy.

    18. Question 18. What Are The Differences Between Alloc And New?

      Answer :

      The alloc creates a new memory location but does not initialize it as compared to new.

    19. Question 19. Which One Is Thread-safe-atomic Or Non-atomic?

      Answer :

      Immutable objects are generally thread-safe.

      For example: NSString.

    20. Question 20. What Are The Differences Between Release And Pool Drain?

      Answer :

      The release frees a memory. The drain releases the NSAutoreleasePool itself.

    21. Question 21. What Are The Differences Between @property And @synthesize?

      Answer :

      The @property - declares a property.

      The @synthesize - creates getter and setter methods for a property

      For Example, @property floats value;

    22. Question 22. What Are The Relation Between Ivar And @property?

      Answer :

      The iVar are just instance variables. It can't be accessed unless we create assessors, which are generated by @property.

      The iVar and its counterpart @property can be of different.

    23. Question 23. What’s The Nscoder Class Used For?

      Answer :

      The NSCoder is an abstract class which represents.

Popular Interview Questions

All Interview Questions

All Practice Tests

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

Tutorial