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.
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.
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.
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.
An app is said to be in suspended state when it is still in memory but is not executing any code.
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.
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 is the application framework for iPhone,iPad and iPod Touch .
Cocoa Touch is the combination of the Foundation and UIKit frameworks.
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.
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 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.
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).
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 .
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.
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.
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.
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.
*Objective-C is a reflective, object-oriented programming language which adds Smalltalk-style messaging to the C programming language. strictly superset of c.
- (return_type)methodName:(data_type)parameter_name : (data_type)parameter_name
Property allow declared variables with specification like atomic/nonatmic, or retain/assign