SlideShare une entreprise Scribd logo
1  sur  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/

Contenu connexe

Tendances

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
 

Tendances (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
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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
 

Dernier

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 

Dernier (20)

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 

Objective-C Crash Course for Web Developers

Notes de l'éditeur

  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