Monday, October 28, 2013

Basic IOS interview Question & Answer

1) What is Cocoa?
Cocoa is an application environment for both the Mac OS X operating system and iOS.
It consists of a suite of object-oriented software libraries, a runtime system, and an integrated development environment.
Carbon is an alternative environment in Mac OS X, but it is a compatibility framework with procedural programmatic interfaces intended to support existing Mac OS X code bases.


2) Cocoa in the architecture of OS X
            Architecturally, OS X is a series of software layers going from the foundation of Darwin to the various application frameworks and the user experience they support.

The intervening layers represent the system software largely (but not entirely) contained in the two major umbrella frameworks, Core Services and Application Services.


In OS X, Cocoa has two core Objective-C frameworks that are essential to application development for OS X
·       Appkit (Application Kit)
·       Foundation

3) Cocoa in the architecture of iOS
            The application-framework layer of iOS is called Cocoa Touch.


Those following layers present in IOS
·       Core OS. This level contains the kernel, the file system, networking infrastructure, security, power management, and a number of device drivers. It also has the libSystem library, which supports the POSIX/BSD 4.4/C99 API specifications and includes system-level APIs for many services.
·       Core Services. The frameworks in this layer provide core services, such as string manipulation, collection management, networking, URL utilities, contact management, and preferences. They also provide services based on hardware features of a device, such as the GPS, compass, accelerometer, and gyroscope. Examples of frameworks in this layer are Core Location, Core Motion, and System Configuration.
This layer includes both Foundation and Core Foundation, frameworks that provide abstractions for common data types such as strings and collections. The Core Frameworks layer also contains Core Data, a framework for object graph management and object persistence.
·       Media. The frameworks and services in this layer depend on the Core Services layer and provide graphical and multimedia services to the Cocoa Touch layer. They include Core Graphics, Core Text, OpenGL ES, Core Animation, AVFoundation, Core Audio, and video playback.
·       Cocoa Touch. The frameworks in this layer directly support applications based in iOS. They include frameworks such as Game Kit, Map Kit, and iAd.

4) Application Kit/App kit.
The Application Kit is a framework containing all the objects you need to implement your graphical, event- driven user interface: windows, panels, buttons, menus, scrollers, and text fields.
 The Application Kit handles all the details for you as it efficiently draws on the screen, communicates with hardware devices and screen buffers, clears areas of the screen before drawing, and clips views.

You also have the choice at which level you use the Application Kit:
·       Use Interface Builder to create connections from user interface objects to your application objects.
·       Control the user interface programmatically, which requires more familiarity with AppKit classes and protocols.

·       Implement your own objects by subclassing NSView or other classes.
5) UIKit
This framework provides the objects an application displays in its user interface and defines the structure for application behavior, including event handling and drawing.

The UIKit framework in iOS is the sister framework of the AppKit framework in OS X.
One of the greatest differences is that, in iOS, the objects that appear in the user interface of a Cocoa application look and behave in a way that is different from the way their counterparts in a Cocoa application running in OS X look and behave. Some common examples are text views, table views, and buttons.

6) Foundation Kit.
The Foundation framework defines a base layer of Objective-C classes. In addition to providing a set of useful primitive object classes, it introduces several paradigms that define functionality not covered by the Objective-C language. The Foundation framework is designed with these goals in mind:
·       Provide a small set of basic utility classes.

·       Make software development easier by introducing consistent conventions for things such as deallocation.

·       Support Unicode strings, object persistence, and object distribution.
·       Provide a level of OS independence, to enhance portability.

7) What are SDK tools in iPhone?
XCode


Simulator
Instruments
8) What is Xcode?
Xcode is the engine that powers Apple’s integrated development environment (IDE) for OS X and iOS. Xcode builds projects from source code written in C, C++, Objective-C, and Objective-C++. It allows you to:
·       Create and manage projects, including specifying platforms, target requirements, dependencies, and build configurations.
·       Write source code in editors with features such as syntax coloring and automatic indenting.
·       Navigate and search through the components of a project, including header files and documentation.
·       Build the project.
·       Debug the project locally, in iOS Simulator, or remotely, in a graphical source-level debugger.
9) What is the simulator?
For iOS projects, you can select iOS Simulator as the platform SDK for the project. When you build and run the project, Xcode runs Simulator, which presents your application as it would appear on the device (iPhone or iPad) and allows you to manipulate parts of the user interface. You can use Simulator to help you debug the application prior to loading it onto the device.

10) what are Instruments?
Instruments is an application introduced in Xcode 3.0 that lets you run multiple performance-testing tools simultaneously and view the results in a timeline-based graphical presentation.
It can show you CPU usage, disk reads and writes, memory statistics, thread activity, garbage collection, network statistics, directory and file usage, and other measurements—individually or in different combinations—in the form of graphs tied to time.
This simultaneous presentation of instrumentation data helps you to discover the relationships between what is being measured. It also displays the specific data behind the graphs.

No need to install on your mac. Already Xcode contains instruments.


11) What is Interface Builder?
Interface Builder is a graphical tool for creating user interfaces.
Interface Builder is centered around four main design elements:
Nib files. A nib file is a file wrapper that contains the objects appearing on a user interface in an archived form.
Nib files offer a way to easily localize user interfaces. Interface Builder stores a nib file in a localized directory inside a Cocoa project; when that project is built, the nib file is copied to a corresponding localized directory in the created bundle.
Explain about Inspector
It is mainly used for setting the properties of view elements.
It contains four sections.
  1. File Inspector
  2. Quick Help Inspector
  3. Identity Inspector
  4. Attribute Inspector
  5. Size Inspector
  6. Connection Inspector





No comments:

Post a Comment