SAY HELLO TO          iPhone ProgrammingiWillStudy.com      - Gargi Das, iPhone Geek !
Development Tools       Copyright   xCode   Interface Builder   Instruments   iPhone simulator
xCode IDE   Copyright
Interface Builder   Copyright
iOS Simulator   Copyright
Instruments   Copyright
Objective C                                        Copyright   Objective C is simply a super set of c.   One can easily ...
Objective C Terms                  Copyright   Messages   Interface, Implementations &    Instantiation   Protocols   ...
Message Passing                                 Copyright  C++ Way(obj->methodName(Parameter)) Objective C Way([obj meth...
Interfaces 1                                                Copyright@interface classname : superclassname{   // instance ...
Interfaces                                                       Copyrightclass classname : public superclassname{ public:...
Implementation                                        CopyrightImplementation (method) files normally have the file  exten...
Instantiation                                       Copyright   Object is instantiated by first allocating the memory    ...
Protocol                                                                 Copyright   Polymorphism in c++.   Two Types:  ...
Managing Memory                                                       Copyright   Basic Fundamentals   Memory Management...
Managing Memory:Fundamentals                                                    Copyright   What is memory management?   ...
Memory Management:Rules                                                                 Copyright   You own any object yo...
Memory Management:Rules                                                                  Copyright   You can take ownersh...
Memory Management:Passing Objects between Methods                                             Copyright     This is wrong...
Memory Management:        Passing Objects between Methods                                         Copyright           The...
Working with Properties                    Copyright   Property Declaration    @interface myClass:NSObject    {      floa...
Working with Properties                                   Copyright   Assign     No  need to worry about Memory here. Ju...
Deallocating Objects                                   Copyright   When object’s retain count drops to 0, its memory is  ...
Installing App in iPhone   Copyright
Installing App in iPhone                            Copyright   First Thing You need a Apple Developer Account.   Once y...
UI Controls                                Copyright   Button – UIButton   TextField – UITextField   Image – UIImage&UI...
Demo App 1                 Copyright             Hello World
Demo App 2                  Copyright             Image viewer
Worldis Yours! Play it    Copyright
Be in Touch                                          Copyright   Event PPTs & Study Material:    http://iwillstudy.com/ev...
Upcoming SlideShare
Loading in...5
×

iPhone Seminar Part 2

1,876

Published on

The PPTs from one of the event of iWillStudy.com - a leading start-up in the education space in India. This PPT is being used at an event where they taught iPhone programming and applications development.

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,876
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "iPhone Seminar Part 2"

  1. 1. SAY HELLO TO iPhone ProgrammingiWillStudy.com - Gargi Das, iPhone Geek !
  2. 2. Development Tools Copyright xCode Interface Builder Instruments iPhone simulator
  3. 3. xCode IDE Copyright
  4. 4. Interface Builder Copyright
  5. 5. iOS Simulator Copyright
  6. 6. Instruments Copyright
  7. 7. Objective C Copyright Objective C is simply a super set of c. One can easily compile c code using Objective C compiler and alternatively the developer can also put c code any where in the objective c code. Syntax of all non Object Oriented operations are similar as C. Rest syntax is taken from Smalltalk. Everything Happens At Runtime( Every error is just a warning).
  8. 8. Objective C Terms Copyright Messages Interface, Implementations & Instantiation Protocols Memory Management
  9. 9. Message Passing Copyright C++ Way(obj->methodName(Parameter)) Objective C Way([obj methodName:Parameter]) Target of the message is always resolved at runtime. In Objective-C one does not call a method; one sends a message
  10. 10. Interfaces 1 Copyright@interface classname : superclassname{ // instance variables The interface of a class is} usually defined in a header file+ classMethod1;+ (return_type)classMethod2;+ (return_type)classMethod3:(param1_type)param1_varName;- (return_type)instanceMethod1:(param1_type)param1_varNameandOtherParameter:(param2_type)param2_varName;-(return_type)instanceMethod2WithParameter:(param1_type)param1_varName andOtherParameter:(param2_type)param2_varName;@end
  11. 11. Interfaces Copyrightclass classname : public superclassname{ public: // instance variables The code above is roughly equivalent to the following C++ // Class (static) functions interface static void * classMethod1(); static return_type classMethod2(); static return_type classMethod3(param1_type param1_varName); // Instance (member) functionsreturn_type instanceMethod1(param1_type param1_varName, param2_typeparam2_varName);return_type instanceMethod2WithParameter(param1_type param1_varName,param2_type param2_varName=default);};
  12. 12. Implementation CopyrightImplementation (method) files normally have the file extension .m, which originally signified "messages“@implementationclassname+classMethod {// implementation} The interface only declares-instanceMethod { the class interface and not the// implementation methods themselves: the actual} code is written in the@end implementation file
  13. 13. Instantiation Copyright Object is instantiated by first allocating the memory for a new object and then initializing. Instantiation with default initializer  NSArray *array = [[NSArray alloc] init]; Or you can use  NSArray *array = [NSArray new]; Instantiation with Custom initializer  NSArray *array = [[NSArray alloc] initWithObjects:@"String1",@"String2",nil];
  14. 14. Protocol Copyright Polymorphism in c++. Two Types:  Formal Protocol.  Informal Protocol.  Delegates are example of Informal Protocol.  Interface Classes from c++ are example of Formal Protocol. A formal protocol is similar to An informal protocol is a list of an interface in Java or C#. It is a list methods that a class can opt to of methods that any class can implement. declare itself to implement.
  15. 15. Managing Memory Copyright Basic Fundamentals Memory Management Rules Passing objects between Methods Working with Properties Deallocating Object Leaks and Static Analyzer Rule #1 – If you create an object using alloc or copy, you need to free that object. Rule #2 – If you didn’t create an object directly, don’t attempt to release the memory for the object.
  16. 16. Managing Memory:Fundamentals Copyright What is memory management?  “Managing the resources efficiently and effectively”. Memory management in other languages.  In C,C++ we have malloc, calloc and free.  In other object oriented languages we have Garbage Collectors. So what is there in Objective C?  “Retain Count”  No need to worry about Primitive Data Types
  17. 17. Memory Management:Rules Copyright You own any object you create.  You “create” an object using a method whose name begins with “alloc” or “new” or contains “copy”.  e.g. Alloc MyClass *myObject = [[MyClass alloc] init]; // do your work with myObject [myObject release] ;  e.g. Copy
  18. 18. Memory Management:Rules Copyright You can take ownership of an object using retain method. NSArray* componentArray = [[self cellforIndexPath:indexPath]retain]; /* */ [componentArray release]; You must relinquish ownership of objects you own when you’re finished with them.  You relinquish ownership of an object by sending it a release message or an autorelease message. You must not relinquish ownership of an object you do not own. NSString* myString = [NSString stringWithFormat:@"%@",[myItem currentItem]]; [myString release]; // this is absolutely wrong
  19. 19. Memory Management:Passing Objects between Methods Copyright This is wrong– (NSArray *)sprockets {NSArray *array = [[NSArray alloc] initWithObjects:mainSprocket, auxiliarySprocket, nil];return array;} This is also wrong – (NSArray *)sprockets { NSArray *array = [[NSArray alloc] initWithObjects:mainSprocket, auxiliarySprocket,nil]; [array release]; return array; // array is invalid here }
  20. 20. Memory Management: Passing Objects between Methods Copyright  The right way – (NSArray *)sprockets { NSArray *array = [NSArray arrayWithObjects:mainSprocket, auxiliarySprocket, nil]; return array; }  You can also do this– (NSArray *)sprockets {NSArray *array = [[NSArray alloc] initWithObjects:mainSprocket, auxiliarySprocket, nil];return [array autorelease];}
  21. 21. Working with Properties Copyright Property Declaration @interface myClass:NSObject { float aValue; } @property float aValue; @end @property float aValue is equal to : float aValue; setValue(float iValue);
  22. 22. Working with Properties Copyright Assign  No need to worry about Memory here. Just a pointer to the object is assigned to variable. Self.parentController = controller Copy self.controlArray = [someOtherArray copy]; //retain count controlArray = 1, someOtherArray = 1 [someOtherArray release]; //we need to release someOtherArray
  23. 23. Deallocating Objects Copyright When object’s retain count drops to 0, its memory is reclaimed in Cocoa terminology it is “freed” or “deallocated.” Os does this calling the “dealloc” method. e.g. -(void)dealloc { [myObject1 release]; [someContainer release]; [super release]; } You should never invoke another object’s dealloc method directly.
  24. 24. Installing App in iPhone Copyright
  25. 25. Installing App in iPhone Copyright First Thing You need a Apple Developer Account. Once you have a account you will have a developer portal. Using the portal you can generate provisioning files for your device (which are nothing but certificates). And you need to add that certificate information to your application and then install that in the device.
  26. 26. UI Controls Copyright Button – UIButton TextField – UITextField Image – UIImage&UIImageView Table/Lists – UITableView View – UIView View Controller – UIViewController Navigation -- UINavigationController
  27. 27. Demo App 1 Copyright Hello World
  28. 28. Demo App 2 Copyright Image viewer
  29. 29. Worldis Yours! Play it  Copyright
  30. 30. Be in Touch Copyright Event PPTs & Study Material: http://iwillstudy.com/event/seminar-on-Learn-iPhone- Programming-at-Rajkot-29 Join us on Facebook: www.facebook.com/iwillstudy Ask Questions: www.iwillstudy.com/forum Our Blog: http://blog.iwillstudy.com Email us: tech@iwillstudy.com

×