Objective-C Készítette: Zsivics Sanel NL5LWN
Tartalom bevezető történeti háttér rangsor elterjedtsége / népszerűsége alapok felépítése (.h,.m, xcode, storyboard) fejlesztői környezet hello world példa források kérdések kérdéseim
Bevezető C programozási nyelv kibővített változata Smalltalk – C nyelvhez társított üzenetközvetítés obj-ok között Mac OS X és iOS operációs rendszerek fő programozási része Cocoa és a Cocoa Touch API használja GCC-vel is lefordíthatók gépi kódra, ha nem tartalmaz Cocoa-t C kód fordítása Objective-C segítségével
Történelmi háttér 1980-as évek elején Brad Cox és Tom Love fejlesztette kiBrad CoxTom Love Steve Jobs elhagyta az Apple-t és megalapította a NeXT cégetSteve JobsAppleNeXT megvásárolta az Objective-C licencét NeXTstep operációs rendszertNeXTstep minden fejlesztői alkalmazást Objective-C-ben írjanak meg NeXTstep a kor legelőrehaladottabb operációs rendszere voltNeXTstep
Rangsor
Népszerűsége
Alapok // Primitív típusok int, double, float, short, bool, BOOL, char, … // Objektumok NSObject, NSInteger, NSNumber, NSArray, NSMutableArray, NSDictionary, NSNumberFormatter, UIAlertView … //Osztály SimpleClass : NSObject // (weak, nonatomic) IBOutlet UILabel (weak, nonatomic) NSString double
Alapok – elágazások int ora = 10; // if else if (ora < 12) { van"); } else if (ora > 12) { van"); } else { van"); } int osztalyzat = 4; // switch case switch (osztalyzat) { case 1: breake; case 2: breake; case 3: breake; case 4: breake; case 5: breake; default: breake; } If-else elágazásswitch case BOOL b = 2 < 3 ? YES : NO; b); ? : operátor
Alapok – ciklusok for, foreach, while, do while NSArray // for for (int i = 0; i < [arr count]; i++) { elem = i, arr[i]); } // foreach int i = 0; for (id key in arr) { elem = i++, key); } // while int i = 0; while (i < [arr count]) { elem = i, arr[i++]); } // do while int i = 0; do { elem = i, arr[i++]); } while (i < [arr count]); // Java foreach List list = new Arraylist (Arrays.asList(„egy”, 2, „harom”)); int i = 0; for (Object o : list) { System.out.println((i++)+ „. elem = ” + o); }
Alapok – függvények // fuggvenyek deklarálása - (void)foo { // do something... } - (int)returnNumber { return 5; } - (NSString*)returnString { } - (int)returnSumOfA:(int)a andB:(int)b { return a + b; } - (NSString*)saySomething:(NSString*)something { return [NSString something]; } // fuggvény hívások returnNumber]); // 5 returnString]); // MyString returnSumOfA:3 andB:6]); // 9 // Hello World!
Fejlesztői környezet Mac OS X, Xcode 5
Hello World
Források /ProgrammingWithObjectiveC/DefiningClasses/DefiningClasses.html /ProgrammingWithObjectiveC/DefiningClasses/DefiningClasses.html Tutoriálok /RoadMapiOS- Legacy/chapters/RM_YourFirstApp_iOS/Articles/00_Introduction.html#//ap ple_ref/doc/uid/TP TP CH1-SW1 /RoadMapiOS- Legacy/chapters/RM_YourFirstApp_iOS/Articles/00_Introduction.html#//ap ple_ref/doc/uid/TP TP CH1-SW1 adMapiOS/index.html#//apple_ref/doc/uid/TP CH2-SW1 adMapiOS/index.html#//apple_ref/doc/uid/TP CH2-SW1
Kérdések
Kérdéseim Hányas évek elején jelent meg az Objective-C programozási nyelv? Steve Jobs-nak mi köze van az Objective-C-hez? Az Objektive-C hogy alakult ki?
Köszönöm a figyelmet!