SlideShare ist ein Scribd-Unternehmen logo
1 von 154
Objective-C Crash Course




     for Web Developers
About me
About me

LinkedIn: jverbogt
Twitter: silentjohnny
Facebook: silentjohnny
E-mail: joris@mangrove.nl
History
iPhone SDK
AppStore
Build your own
TXXI
Today’s Topics
Today’s Topics
Today’s Topics

Native iPhone Development
Today’s Topics

Native iPhone Development
Live Demo
Today’s Topics

Native iPhone Development
Live Demo
Questions
iPhone Development
iPhone Development

Tools: Xcode / Interface Builder
iPhone Development

Tools: Xcode / Interface Builder
Language: Objective-C
iPhone Development

Tools: Xcode / Interface Builder
Language: Objective-C
Frameworks: Foundation / UIKit
Xcode
Xcode

Editor
Xcode

Editor
Debugger
Xcode

Editor
Debugger
Build Tools
Xcode

Editor
Debugger
Build Tools
Documentation
Interface Builder
Interface Builder

Design UI
Interface Builder

Design UI
Bind to code
Interface Builder

Design UI
Bind to code
Generate code
iPhone Simulator
iPhone Simulator

Easy for debugging
iPhone Simulator

Easy for debugging
No device needed
iPhone Simulator

Easy for debugging
No device needed
Fast round-trip
Not a real iPhone!
Objective-C
Objective-C
Objective-C

Superset of C, can be mixed
Objective-C

Superset of C, can be mixed
Simple syntax
Objective-C

Superset of C, can be mixed
Simple syntax
Dynamic runtime
OOP in Objective-C
OOP in Objective-C
OOP in Objective-C
Single inheritance class tree
OOP in Objective-C
Single inheritance class tree
Protocols for multi-class behavior
OOP in Objective-C
Single inheritance class tree
Protocols for multi-class behavior
Instance variables are hidden
OOP in Objective-C
Single inheritance class tree
Protocols for multi-class behavior
Instance variables are hidden
Objects respond to messages for interaction
OOP in Objective-C
Single inheritance class tree
Protocols for multi-class behavior
Instance variables are hidden
Objects respond to messages for interaction
Variables are bound to classes at runtime
OOP in Objective-C
Single inheritance class tree
Protocols for multi-class behavior
Instance variables are hidden
Objects respond to messages for interaction
Variables are bound to classes at runtime
There is an anonymous object type ‘id’
Syntax
Syntax
Syntax
float moneyInTheBank = 0.0;
Syntax
float moneyInTheBank = 0.0;

var moneyInTheBank = 0.0;
Syntax
Syntax
MacBookPro *myNewMac = [MacBookPro new];
Syntax
MacBookPro *myNewMac = [MacBookPro new];

var myNewMac = new MacBookPro();
Syntax
Syntax
if (moneyInTheBank > [myNewMac price]) {

    // Go buy one!

}
Syntax
if (moneyInTheBank > [myNewMac price]) {

    // Go buy one!

}


if (moneyInTheBank > myNewMac.getPrice()) {

    // Go buy one!

}
Syntax
Syntax
for (i=1; i<count; i++) {

}
Messaging
Messaging
Messaging
NSString *name = [person name];
Messaging
NSString *name = [person name];

var name = person.getName();
Messaging
Messaging
[person setName:@”John”];
Messaging
[person setName:@”John”];

person.setName(”John”);
Messaging
Messaging
NSUInteger length = [[person name] length];
Messaging
NSUInteger length = [[person name] length];

var length = person.getName().getLength();
Messaging
Messaging
[person setName:name andAge:21];
Messaging
[person setName:name andAge:21];

person.set({name:name, age:21});
Creating Instances
Creating Instances
Creating Instances
Person *person = [[Person alloc] init];
Creating Instances
Person *person = [[Person alloc] init];


Person *person = [Person new];
Creating Instances
Person *person = [[Person alloc] init];


Person *person = [Person new];


Person *person = [Person person];
Memory Management
Memory Management
Memory Management

 If you allocate memory,
 you need to clean it up!
Memory Management
Memory Management
NSObject *keepMe = [[NSObject alloc] init];
Memory Management
NSObject *keepMe = [[NSObject alloc] init];

[keepMe retain];
Memory Management
NSObject *keepMe = [[NSObject alloc] init];

[keepMe retain];

[keepMe autorelease];
Memory Management
NSObject *keepMe = [[NSObject alloc] init];

[keepMe retain];

[keepMe autorelease];

[keepMe release];
Memory Management
NSObject *keepMe = [[NSObject alloc] init];

[keepMe retain];

[keepMe autorelease];

[keepMe release];

NSObject *keepMe = [NSObject object];
Categories
Categories
Categories
Extending classes without subclassing
Categories
    Extending classes without subclassing

NSString *json = @”{“test”:”OK”}”;
Categories
    Extending classes without subclassing

NSString *json = @”{“test”:”OK”}”;

SBJsonParser *parser =

 [[SBJsonParser] alloc] init];

NSDictionary *data =

  [parser objectWithString:json];
Categories
    Extending classes without subclassing

NSString *json = @”{“test”:”OK”}”;



NSDictionary *data = [json JSONValue];
Categories
Categories
String.prototype.getJSONValue =

  function() { return ... };
Categories
String.prototype.getJSONValue =

  function() { return ... };



var json = “{”test”:”OK”}”;

var myObject = json.getJSONValue();
Foundation Classes
NSString
NSString
NSString
NSString *myName = @”joris”;
NSString
NSString *myName = @”joris”;

NSString *welcome = [NSString stringWithFormat:@”Hello %@”, name];
NSString
NSString *myName = @”joris”;

NSString *welcome = [NSString stringWithFormat:@”Hello %@”, name];



NSString *greeting = @”Hello ”;

NSString *welcome = [greeting stringByAppendingString:name];
NSString
NSString *myName = @”joris”;

NSString *welcome = [NSString stringWithFormat:@”Hello %@”, name];



NSString *greeting = @”Hello ”;

NSString *welcome = [greeting stringByAppendingString:name];



if ([myName isEqualToString:otherName]) {

    // Strings are equal!

}
NSArray
NSArray
NSArray
NSArray *myArray = [NSArray arrayWithObjects:@”me”, @”you”, nil];
NSArray
NSArray *myArray = [NSArray arrayWithObjects:@”me”, @”you”, nil];



NSUInteger count = [myArray count];
NSArray
NSArray *myArray = [NSArray arrayWithObjects:@”me”, @”you”, nil];



NSUInteger count = [myArray count];



NSString *secondItem = [myArray objectAtIndex:1];
NSArray
NSArray *myArray = [NSArray arrayWithObjects:@”me”, @”you”, nil];



NSUInteger count = [myArray count];



NSString *secondItem = [myArray objectAtIndex:1];



for (NSString *name in myArray) {

    NSLog(@”Name: %@”, name);

}
NSDictionary
NSDictionary
NSDictionary
NSDictionary *myDict = [NSDictionary dictionaryWithObjectsAndKeys:

              @”joris”, @”firstname”,

              @”verbogt”, @”lastname”,

              nil];
NSDictionary
NSDictionary *myDict = [NSDictionary dictionaryWithObjectsAndKeys:

              @”joris”, @”firstname”,

              @”verbogt”, @”lastname”,

              nil];



NSString *lastname = [myDict objectForKey:@”lastname”];
UIKit
Delegates
Delegates
Delegates

Many UIKit classes define delegate protocols
Delegates

Many UIKit classes define delegate protocols
No subclassing necessary for custom behavior
Delegates

Many UIKit classes define delegate protocols
No subclassing necessary for custom behavior
Loose coupling
Delegates

Many UIKit classes define delegate protocols
No subclassing necessary for custom behavior
Loose coupling
Easy refactoring
Connecting UI Elements
Connecting UI Elements
Connecting UI Elements

 Code defines outlets to UI elements
Connecting UI Elements

 Code defines outlets to UI elements
 Code responds to actions from UI
Connecting UI Elements

 Code defines outlets to UI elements
 Code responds to actions from UI
 UI Elements fire actions to a target
Connecting UI Elements

 Code defines outlets to UI elements
 Code responds to actions from UI
 UI Elements fire actions to a target
 Again: no subclassing
ViewControllers
ViewControllers
ViewControllers

Control a UI view (with sub-views)
ViewControllers

Control a UI view (with sub-views)
Ready to use, out-of-the-box
ViewControllers

Control a UI view (with sub-views)
Ready to use, out-of-the-box
Can be stacked for navigation
ViewControllers

Control a UI view (with sub-views)
Ready to use, out-of-the-box
Can be stacked for navigation
Can be initialized from code or IB
ViewControllers
ViewControllers

Useful Subclasses:
ViewControllers

Useful Subclasses:
   TableViewController
ViewControllers

Useful Subclasses:
   TableViewController
   NavigationController
ViewControllers

Useful Subclasses:
   TableViewController
   NavigationController
   TabBarController
Let’s do some coding...
Why?
Why?
Why?

Fun challenge
Why?

Fun challenge
Frameworks
Why?

Fun challenge
Frameworks
Best User Experience
Why?

Fun challenge
Frameworks
Best User Experience
Inspiration
Thank you
Copyright
Artwork by nozzman.com
Presentation by Joris Verbogt
This work is licensed under the Creative
Commons Attribution-Noncommercial-Share
Alike 3.0 Netherlands License.


Download at http://workshop.verbogt.nl/

Weitere ähnliche Inhalte

Was ist angesagt?

Uncommon Design Patterns
Uncommon Design PatternsUncommon Design Patterns
Uncommon Design PatternsStefano Fago
 
Building DSLs with Xtext - Eclipse Modeling Day 2009
Building DSLs with Xtext - Eclipse Modeling Day 2009Building DSLs with Xtext - Eclipse Modeling Day 2009
Building DSLs with Xtext - Eclipse Modeling Day 2009Heiko Behrens
 
C++11 smart pointer
C++11 smart pointerC++11 smart pointer
C++11 smart pointerLei Yu
 
Advanced JavaScript
Advanced JavaScriptAdvanced JavaScript
Advanced JavaScriptNascenia IT
 
What's New in C++ 11/14?
What's New in C++ 11/14?What's New in C++ 11/14?
What's New in C++ 11/14?Dina Goldshtein
 
iPhone Development Intro
iPhone Development IntroiPhone Development Intro
iPhone Development IntroLuis Azevedo
 
eXo SEA - JavaScript Introduction Training
eXo SEA - JavaScript Introduction TrainingeXo SEA - JavaScript Introduction Training
eXo SEA - JavaScript Introduction TrainingHoat Le
 
Lecture 3, c++(complete reference,herbet sheidt)chapter-13
Lecture 3, c++(complete reference,herbet sheidt)chapter-13Lecture 3, c++(complete reference,herbet sheidt)chapter-13
Lecture 3, c++(complete reference,herbet sheidt)chapter-13Abu Saleh
 
C++: Constructor, Copy Constructor and Assignment operator
C++: Constructor, Copy Constructor and Assignment operatorC++: Constructor, Copy Constructor and Assignment operator
C++: Constructor, Copy Constructor and Assignment operatorJussi Pohjolainen
 
Unleash your inner console cowboy
Unleash your inner console cowboyUnleash your inner console cowboy
Unleash your inner console cowboyKenneth Geisshirt
 
JavaScript introduction 1 ( Variables And Values )
JavaScript introduction 1 ( Variables And Values )JavaScript introduction 1 ( Variables And Values )
JavaScript introduction 1 ( Variables And Values )Victor Verhaagen
 
Awesomeness of JavaScript…almost
Awesomeness of JavaScript…almostAwesomeness of JavaScript…almost
Awesomeness of JavaScript…almostQuinton Sheppard
 
Building High Perf Web Apps - IE8 Firestarter
Building High Perf Web Apps - IE8 FirestarterBuilding High Perf Web Apps - IE8 Firestarter
Building High Perf Web Apps - IE8 FirestarterMithun T. Dhar
 

Was ist angesagt? (20)

Uncommon Design Patterns
Uncommon Design PatternsUncommon Design Patterns
Uncommon Design Patterns
 
The Xtext Grammar Language
The Xtext Grammar LanguageThe Xtext Grammar Language
The Xtext Grammar Language
 
Building DSLs with Xtext - Eclipse Modeling Day 2009
Building DSLs with Xtext - Eclipse Modeling Day 2009Building DSLs with Xtext - Eclipse Modeling Day 2009
Building DSLs with Xtext - Eclipse Modeling Day 2009
 
C++11 smart pointer
C++11 smart pointerC++11 smart pointer
C++11 smart pointer
 
Objective c intro (1)
Objective c intro (1)Objective c intro (1)
Objective c intro (1)
 
Xtext Eclipse Con
Xtext Eclipse ConXtext Eclipse Con
Xtext Eclipse Con
 
Core concepts-javascript
Core concepts-javascriptCore concepts-javascript
Core concepts-javascript
 
Advanced JavaScript
Advanced JavaScriptAdvanced JavaScript
Advanced JavaScript
 
Smart pointers
Smart pointersSmart pointers
Smart pointers
 
What's New in C++ 11/14?
What's New in C++ 11/14?What's New in C++ 11/14?
What's New in C++ 11/14?
 
Xtext Webinar
Xtext WebinarXtext Webinar
Xtext Webinar
 
iPhone Development Intro
iPhone Development IntroiPhone Development Intro
iPhone Development Intro
 
eXo SEA - JavaScript Introduction Training
eXo SEA - JavaScript Introduction TrainingeXo SEA - JavaScript Introduction Training
eXo SEA - JavaScript Introduction Training
 
Lecture 3, c++(complete reference,herbet sheidt)chapter-13
Lecture 3, c++(complete reference,herbet sheidt)chapter-13Lecture 3, c++(complete reference,herbet sheidt)chapter-13
Lecture 3, c++(complete reference,herbet sheidt)chapter-13
 
C++: Constructor, Copy Constructor and Assignment operator
C++: Constructor, Copy Constructor and Assignment operatorC++: Constructor, Copy Constructor and Assignment operator
C++: Constructor, Copy Constructor and Assignment operator
 
Unleash your inner console cowboy
Unleash your inner console cowboyUnleash your inner console cowboy
Unleash your inner console cowboy
 
JavaScript introduction 1 ( Variables And Values )
JavaScript introduction 1 ( Variables And Values )JavaScript introduction 1 ( Variables And Values )
JavaScript introduction 1 ( Variables And Values )
 
Awesomeness of JavaScript…almost
Awesomeness of JavaScript…almostAwesomeness of JavaScript…almost
Awesomeness of JavaScript…almost
 
C# 6.0 Preview
C# 6.0 PreviewC# 6.0 Preview
C# 6.0 Preview
 
Building High Perf Web Apps - IE8 Firestarter
Building High Perf Web Apps - IE8 FirestarterBuilding High Perf Web Apps - IE8 Firestarter
Building High Perf Web Apps - IE8 Firestarter
 

Andere mochten auch

Iphone programming: Objective c
Iphone programming: Objective cIphone programming: Objective c
Iphone programming: Objective cKenny Nguyen
 
Crash Course in Objective-C
Crash Course in Objective-CCrash Course in Objective-C
Crash Course in Objective-CStephen Gilmore
 
iPhone Development For Experienced Web Developers
iPhone Development For Experienced Web DevelopersiPhone Development For Experienced Web Developers
iPhone Development For Experienced Web Developerslisab517
 
Things we learned building a native IOS app
Things we learned building a native IOS appThings we learned building a native IOS app
Things we learned building a native IOS appPlantola
 
Take Advantage of UIWebView for iOS Native App Developers
Take Advantage of UIWebView for iOS Native App DevelopersTake Advantage of UIWebView for iOS Native App Developers
Take Advantage of UIWebView for iOS Native App DevelopersRyan Chung
 
Building your first Native iOs App with an API Backend
Building your first Native iOs App with an API BackendBuilding your first Native iOs App with an API Backend
Building your first Native iOs App with an API BackendApigee | Google Cloud
 
AWS 와 함께하는 클라우드 컴퓨팅:: 방희란 :: AWS Summit Seoul 2016
AWS 와 함께하는 클라우드 컴퓨팅:: 방희란 :: AWS Summit Seoul 2016AWS 와 함께하는 클라우드 컴퓨팅:: 방희란 :: AWS Summit Seoul 2016
AWS 와 함께하는 클라우드 컴퓨팅:: 방희란 :: AWS Summit Seoul 2016Amazon Web Services Korea
 
Web Services with Objective-C
Web Services with Objective-CWeb Services with Objective-C
Web Services with Objective-CJuio Barros
 
iOS 101 - Xcode, Objective-C, iOS APIs
iOS 101 - Xcode, Objective-C, iOS APIsiOS 101 - Xcode, Objective-C, iOS APIs
iOS 101 - Xcode, Objective-C, iOS APIsSubhransu Behera
 
Introduction to iOS Apps Development
Introduction to iOS Apps DevelopmentIntroduction to iOS Apps Development
Introduction to iOS Apps DevelopmentProf. Erwin Globio
 
iOS Development - A Beginner Guide
iOS Development - A Beginner GuideiOS Development - A Beginner Guide
iOS Development - A Beginner GuideAndri Yadi
 
ios-mobile-app-development-intro
ios-mobile-app-development-introios-mobile-app-development-intro
ios-mobile-app-development-introRemesh Govind M
 
AWS 클라우드 기반 확장성 높은 천만 사용자 웹 서비스 만들기 - 윤석찬
AWS 클라우드 기반 확장성 높은 천만 사용자 웹 서비스 만들기 - 윤석찬AWS 클라우드 기반 확장성 높은 천만 사용자 웹 서비스 만들기 - 윤석찬
AWS 클라우드 기반 확장성 높은 천만 사용자 웹 서비스 만들기 - 윤석찬Amazon Web Services Korea
 
AEM Best Practices for Component Development
AEM Best Practices for Component DevelopmentAEM Best Practices for Component Development
AEM Best Practices for Component DevelopmentGabriel Walt
 

Andere mochten auch (20)

Iphone programming: Objective c
Iphone programming: Objective cIphone programming: Objective c
Iphone programming: Objective c
 
Objective c slide I
Objective c slide IObjective c slide I
Objective c slide I
 
Advanced iOS
Advanced iOSAdvanced iOS
Advanced iOS
 
Crash Course in Objective-C
Crash Course in Objective-CCrash Course in Objective-C
Crash Course in Objective-C
 
iPhone Development For Experienced Web Developers
iPhone Development For Experienced Web DevelopersiPhone Development For Experienced Web Developers
iPhone Development For Experienced Web Developers
 
Things we learned building a native IOS app
Things we learned building a native IOS appThings we learned building a native IOS app
Things we learned building a native IOS app
 
Take Advantage of UIWebView for iOS Native App Developers
Take Advantage of UIWebView for iOS Native App DevelopersTake Advantage of UIWebView for iOS Native App Developers
Take Advantage of UIWebView for iOS Native App Developers
 
1-oop java-object
1-oop java-object1-oop java-object
1-oop java-object
 
0-oop java-intro
0-oop java-intro0-oop java-intro
0-oop java-intro
 
Building your first Native iOs App with an API Backend
Building your first Native iOs App with an API BackendBuilding your first Native iOs App with an API Backend
Building your first Native iOs App with an API Backend
 
AWS 와 함께하는 클라우드 컴퓨팅:: 방희란 :: AWS Summit Seoul 2016
AWS 와 함께하는 클라우드 컴퓨팅:: 방희란 :: AWS Summit Seoul 2016AWS 와 함께하는 클라우드 컴퓨팅:: 방희란 :: AWS Summit Seoul 2016
AWS 와 함께하는 클라우드 컴퓨팅:: 방희란 :: AWS Summit Seoul 2016
 
Web Services with Objective-C
Web Services with Objective-CWeb Services with Objective-C
Web Services with Objective-C
 
iOS 101 - Xcode, Objective-C, iOS APIs
iOS 101 - Xcode, Objective-C, iOS APIsiOS 101 - Xcode, Objective-C, iOS APIs
iOS 101 - Xcode, Objective-C, iOS APIs
 
10- java language basics part4
10- java language basics part410- java language basics part4
10- java language basics part4
 
Introduction to iOS Apps Development
Introduction to iOS Apps DevelopmentIntroduction to iOS Apps Development
Introduction to iOS Apps Development
 
iOS Development - A Beginner Guide
iOS Development - A Beginner GuideiOS Development - A Beginner Guide
iOS Development - A Beginner Guide
 
ios-mobile-app-development-intro
ios-mobile-app-development-introios-mobile-app-development-intro
ios-mobile-app-development-intro
 
AWS 클라우드 기반 확장성 높은 천만 사용자 웹 서비스 만들기 - 윤석찬
AWS 클라우드 기반 확장성 높은 천만 사용자 웹 서비스 만들기 - 윤석찬AWS 클라우드 기반 확장성 높은 천만 사용자 웹 서비스 만들기 - 윤석찬
AWS 클라우드 기반 확장성 높은 천만 사용자 웹 서비스 만들기 - 윤석찬
 
AEM Best Practices for Component Development
AEM Best Practices for Component DevelopmentAEM Best Practices for Component Development
AEM Best Practices for Component Development
 
Presentation on iOS
Presentation on iOSPresentation on iOS
Presentation on iOS
 

Ähnlich wie Objective-C Crash Course for Web Developers

Modernizes your objective C - Oliviero
Modernizes your objective C - OlivieroModernizes your objective C - Oliviero
Modernizes your objective C - OlivieroCodemotion
 
FI MUNI 2012 - iOS Basics
FI MUNI 2012 - iOS BasicsFI MUNI 2012 - iOS Basics
FI MUNI 2012 - iOS BasicsPetr Dvorak
 
Modernize your Objective-C
Modernize your Objective-CModernize your Objective-C
Modernize your Objective-CMassimo Oliviero
 
MFF UK - Introduction to iOS
MFF UK - Introduction to iOSMFF UK - Introduction to iOS
MFF UK - Introduction to iOSPetr Dvorak
 
Objective-C talk
Objective-C talkObjective-C talk
Objective-C talkbradringel
 
Ios development
Ios developmentIos development
Ios developmentelnaqah
 
APPlause - DemoCamp Munich
APPlause - DemoCamp MunichAPPlause - DemoCamp Munich
APPlause - DemoCamp MunichPeter Friese
 
iPhone development from a Java perspective (Jazoon '09)
iPhone development from a Java perspective (Jazoon '09)iPhone development from a Java perspective (Jazoon '09)
iPhone development from a Java perspective (Jazoon '09)Netcetera
 
Irving iOS Jumpstart Meetup - Objective-C Session 2
Irving iOS Jumpstart Meetup - Objective-C Session 2Irving iOS Jumpstart Meetup - Objective-C Session 2
Irving iOS Jumpstart Meetup - Objective-C Session 2irving-ios-jumpstart
 
Objective C 基本介紹
Objective C 基本介紹Objective C 基本介紹
Objective C 基本介紹Giga Cheng
 
Swift와 Objective-C를 함께 쓰는 방법
Swift와 Objective-C를 함께 쓰는 방법Swift와 Objective-C를 함께 쓰는 방법
Swift와 Objective-C를 함께 쓰는 방법Jung Kim
 
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろうUnity Technologies Japan K.K.
 
Building Fast, Modern Web Applications with Node.js and CoffeeScript
Building Fast, Modern Web Applications with Node.js and CoffeeScriptBuilding Fast, Modern Web Applications with Node.js and CoffeeScript
Building Fast, Modern Web Applications with Node.js and CoffeeScriptroyaldark
 
2017-06-22 Documentation as code
2017-06-22 Documentation as code2017-06-22 Documentation as code
2017-06-22 Documentation as codeJérémie Bresson
 
Android development with Scala and SBT
Android development with Scala and SBTAndroid development with Scala and SBT
Android development with Scala and SBTAnton Yalyshev
 
Practical JavaScript Programming - Session 8/8
Practical JavaScript Programming - Session 8/8Practical JavaScript Programming - Session 8/8
Practical JavaScript Programming - Session 8/8Wilson Su
 

Ähnlich wie Objective-C Crash Course for Web Developers (20)

Modernizes your objective C - Oliviero
Modernizes your objective C - OlivieroModernizes your objective C - Oliviero
Modernizes your objective C - Oliviero
 
FI MUNI 2012 - iOS Basics
FI MUNI 2012 - iOS BasicsFI MUNI 2012 - iOS Basics
FI MUNI 2012 - iOS Basics
 
Modernize your Objective-C
Modernize your Objective-CModernize your Objective-C
Modernize your Objective-C
 
MFF UK - Introduction to iOS
MFF UK - Introduction to iOSMFF UK - Introduction to iOS
MFF UK - Introduction to iOS
 
Objective-C talk
Objective-C talkObjective-C talk
Objective-C talk
 
Ios development
Ios developmentIos development
Ios development
 
APPlause - DemoCamp Munich
APPlause - DemoCamp MunichAPPlause - DemoCamp Munich
APPlause - DemoCamp Munich
 
iPhone development from a Java perspective (Jazoon '09)
iPhone development from a Java perspective (Jazoon '09)iPhone development from a Java perspective (Jazoon '09)
iPhone development from a Java perspective (Jazoon '09)
 
Irving iOS Jumpstart Meetup - Objective-C Session 2
Irving iOS Jumpstart Meetup - Objective-C Session 2Irving iOS Jumpstart Meetup - Objective-C Session 2
Irving iOS Jumpstart Meetup - Objective-C Session 2
 
Objective C 基本介紹
Objective C 基本介紹Objective C 基本介紹
Objective C 基本介紹
 
Oop java
Oop javaOop java
Oop java
 
Swift와 Objective-C를 함께 쓰는 방법
Swift와 Objective-C를 함께 쓰는 방법Swift와 Objective-C를 함께 쓰는 방법
Swift와 Objective-C를 함께 쓰는 방법
 
UI testing in Xcode 7
UI testing in Xcode 7UI testing in Xcode 7
UI testing in Xcode 7
 
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう
 
Building Fast, Modern Web Applications with Node.js and CoffeeScript
Building Fast, Modern Web Applications with Node.js and CoffeeScriptBuilding Fast, Modern Web Applications with Node.js and CoffeeScript
Building Fast, Modern Web Applications with Node.js and CoffeeScript
 
2017-06-22 Documentation as code
2017-06-22 Documentation as code2017-06-22 Documentation as code
2017-06-22 Documentation as code
 
Objective c
Objective cObjective c
Objective c
 
Android development with Scala and SBT
Android development with Scala and SBTAndroid development with Scala and SBT
Android development with Scala and SBT
 
Practical JavaScript Programming - Session 8/8
Practical JavaScript Programming - Session 8/8Practical JavaScript Programming - Session 8/8
Practical JavaScript Programming - Session 8/8
 
02 objective-c session 2
02  objective-c session 202  objective-c session 2
02 objective-c session 2
 

Kürzlich hochgeladen

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Kürzlich hochgeladen (20)

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Objective-C Crash Course for Web Developers

Hinweis der Redaktion

  1. Chief Developer Backend stuff / JavaScript integration
  2. Basic description
  3. Questions at the end Except for things that aren&amp;#x2019;t clear
  4. Questions at the end Except for things that aren&amp;#x2019;t clear
  5. Questions at the end Except for things that aren&amp;#x2019;t clear