SlideShare ist ein Scribd-Unternehmen logo
1 von 13
iOS радионица
  Владимир Митровић
iOS
Зашто iOS?
                   $$$

• огроман број корисника спремних да дају
  паре
• ~6x већа зарада у односу на Android
  апликације (wired.com, дец. 2011)
• freelance послови
Зашто iOS?
           Удобан и брз развој

• квалитетни алати
• коначан број уређаја на којима треба
  тестирати
• стандардизована резолуција екрана
• добра подршка за старе верзије OS-а
Архитектура

           Application

                UIKit

          Cocoa Touch

                Media

Core Services           Foundation

            Core OS
iOS развој


• Objective-C
• Xcode
• iPhone Developer Program
Objective-C
// Person.h
@interface Person : NSObject {
  int age;
  NSString* name;
}

// Person.m
@implementation Person

- (void)print {
  NSLog(“I’m %@ and I’m %d years old.”, name, age);
}

@end
Методе
           obj.method() ➞ [obj method]

// Без аргумената
NSInteger count = [myArray count];

// Са једним аргументом
[myArray addObject:myObject];

// Са два аргумента
BOOL result = [myData writeToFile:myFile atomically:true];

// Угнежђени позив методе
UIImage* image = [UIImage imageNamed:[myObject imageName]];
Управљање меморијом




                * извор: cocoadevcentral.com
Управљање меморијом


NSString* str1 = [NSString string];   // Аутоматски ослобођена



NSString* str2 = [[NSString alloc] init];
[str2 release]; // Ослобођена ручно



NSString* str3 = [[[NSString alloc] init] autorelease];
Model-View-Controller


                Controller

User action                       Notify
              Update   Update



       View                     Model
Ако се заглавите


   developer.apple.com/devcenter/ios
          stackoverflow.com
              google.com



Проблем који имате је неко већ решио!
Практичан део!

Weitere ähnliche Inhalte

Andere mochten auch

iPhone u Srbiji, Ivan Jelić - Mobile Monday Serbia #11
iPhone u Srbiji, Ivan Jelić - Mobile Monday Serbia #11iPhone u Srbiji, Ivan Jelić - Mobile Monday Serbia #11
iPhone u Srbiji, Ivan Jelić - Mobile Monday Serbia #11Startit
 
Startit Meetup #12 - Spark.me
Startit Meetup #12 - Spark.meStartit Meetup #12 - Spark.me
Startit Meetup #12 - Spark.meStartit
 
Docker for Fun and Profit at Startit Tech Meetup
Docker for Fun and Profit at Startit Tech MeetupDocker for Fun and Profit at Startit Tech Meetup
Docker for Fun and Profit at Startit Tech MeetupStartit
 
MTS & iPhone - Mobile Monday Serbia #11
MTS & iPhone - Mobile Monday Serbia #11MTS & iPhone - Mobile Monday Serbia #11
MTS & iPhone - Mobile Monday Serbia #11Startit
 
Startit Meetup #11 - Taksiko
Startit Meetup #11 - TaksikoStartit Meetup #11 - Taksiko
Startit Meetup #11 - TaksikoStartit
 
Lifity presentation
Lifity presentationLifity presentation
Lifity presentationStartit
 
Startit Meetup #11 - CU3ER
Startit Meetup #11 - CU3ERStartit Meetup #11 - CU3ER
Startit Meetup #11 - CU3ERStartit
 
Uvod u Big Data i nauku o podacima
Uvod u Big Data i nauku o podacimaUvod u Big Data i nauku o podacima
Uvod u Big Data i nauku o podacimaStartit
 
Zašto dati otkaz i postati preduzetnik? Mad Head Games Startit Meetup #17
Zašto dati otkaz i postati preduzetnik? Mad Head Games Startit Meetup #17Zašto dati otkaz i postati preduzetnik? Mad Head Games Startit Meetup #17
Zašto dati otkaz i postati preduzetnik? Mad Head Games Startit Meetup #17Startit
 
Prepoznajte šansu i zgrabite je, Adrian Đura, osnivač Eipixa - WWVršac
Prepoznajte šansu i zgrabite je, Adrian Đura, osnivač Eipixa - WWVršacPrepoznajte šansu i zgrabite je, Adrian Đura, osnivač Eipixa - WWVršac
Prepoznajte šansu i zgrabite je, Adrian Đura, osnivač Eipixa - WWVršacStartit
 

Andere mochten auch (10)

iPhone u Srbiji, Ivan Jelić - Mobile Monday Serbia #11
iPhone u Srbiji, Ivan Jelić - Mobile Monday Serbia #11iPhone u Srbiji, Ivan Jelić - Mobile Monday Serbia #11
iPhone u Srbiji, Ivan Jelić - Mobile Monday Serbia #11
 
Startit Meetup #12 - Spark.me
Startit Meetup #12 - Spark.meStartit Meetup #12 - Spark.me
Startit Meetup #12 - Spark.me
 
Docker for Fun and Profit at Startit Tech Meetup
Docker for Fun and Profit at Startit Tech MeetupDocker for Fun and Profit at Startit Tech Meetup
Docker for Fun and Profit at Startit Tech Meetup
 
MTS & iPhone - Mobile Monday Serbia #11
MTS & iPhone - Mobile Monday Serbia #11MTS & iPhone - Mobile Monday Serbia #11
MTS & iPhone - Mobile Monday Serbia #11
 
Startit Meetup #11 - Taksiko
Startit Meetup #11 - TaksikoStartit Meetup #11 - Taksiko
Startit Meetup #11 - Taksiko
 
Lifity presentation
Lifity presentationLifity presentation
Lifity presentation
 
Startit Meetup #11 - CU3ER
Startit Meetup #11 - CU3ERStartit Meetup #11 - CU3ER
Startit Meetup #11 - CU3ER
 
Uvod u Big Data i nauku o podacima
Uvod u Big Data i nauku o podacimaUvod u Big Data i nauku o podacima
Uvod u Big Data i nauku o podacima
 
Zašto dati otkaz i postati preduzetnik? Mad Head Games Startit Meetup #17
Zašto dati otkaz i postati preduzetnik? Mad Head Games Startit Meetup #17Zašto dati otkaz i postati preduzetnik? Mad Head Games Startit Meetup #17
Zašto dati otkaz i postati preduzetnik? Mad Head Games Startit Meetup #17
 
Prepoznajte šansu i zgrabite je, Adrian Đura, osnivač Eipixa - WWVršac
Prepoznajte šansu i zgrabite je, Adrian Đura, osnivač Eipixa - WWVršacPrepoznajte šansu i zgrabite je, Adrian Đura, osnivač Eipixa - WWVršac
Prepoznajte šansu i zgrabite je, Adrian Đura, osnivač Eipixa - WWVršac
 

Mehr von Startit

Sales meetup #2 / Katarina Mijatovic
Sales meetup #2 / Katarina MijatovicSales meetup #2 / Katarina Mijatovic
Sales meetup #2 / Katarina MijatovicStartit
 
Sales meetup #2 / Mario Krivokapic
Sales meetup #2 / Mario KrivokapicSales meetup #2 / Mario Krivokapic
Sales meetup #2 / Mario KrivokapicStartit
 
How to sell your company
How to sell your companyHow to sell your company
How to sell your companyStartit
 
10% Human and Machine Learning
10% Human and Machine Learning10% Human and Machine Learning
10% Human and Machine LearningStartit
 
Optičko prepoznavanje teksta
Optičko prepoznavanje tekstaOptičko prepoznavanje teksta
Optičko prepoznavanje tekstaStartit
 
Black art of writing SSMS extensions
Black art of writing SSMS extensionsBlack art of writing SSMS extensions
Black art of writing SSMS extensionsStartit
 
Front-end development iz ugla .NET programera
Front-end development iz ugla .NET programera�Front-end development iz ugla .NET programera�
Front-end development iz ugla .NET programeraStartit
 
Igrice za bakice - Ivan Francuski, Eipix - GameUp
Igrice za bakice - Ivan Francuski, Eipix - GameUpIgrice za bakice - Ivan Francuski, Eipix - GameUp
Igrice za bakice - Ivan Francuski, Eipix - GameUpStartit
 
Fliiby path - Brothers Divjak, founders of Fliiby at WWVrsac Conference
Fliiby path - Brothers Divjak, founders of Fliiby at WWVrsac ConferenceFliiby path - Brothers Divjak, founders of Fliiby at WWVrsac Conference
Fliiby path - Brothers Divjak, founders of Fliiby at WWVrsac ConferenceStartit
 
Zašto sam posato preduzetnik? Rade Joksimović, Loyalis - Startit Meetup #17
Zašto sam posato preduzetnik? Rade Joksimović, Loyalis - Startit Meetup #17Zašto sam posato preduzetnik? Rade Joksimović, Loyalis - Startit Meetup #17
Zašto sam posato preduzetnik? Rade Joksimović, Loyalis - Startit Meetup #17Startit
 
Logstash + Elasticsearch + Kibana Presentation on Startit Tech Meetup
Logstash + Elasticsearch + Kibana Presentation on Startit Tech MeetupLogstash + Elasticsearch + Kibana Presentation on Startit Tech Meetup
Logstash + Elasticsearch + Kibana Presentation on Startit Tech MeetupStartit
 
Development box at Startit Tech Meetup
Development box at Startit Tech MeetupDevelopment box at Startit Tech Meetup
Development box at Startit Tech MeetupStartit
 
Startit Meetup #12 - FIT
Startit Meetup #12 - FITStartit Meetup #12 - FIT
Startit Meetup #12 - FITStartit
 
Startit Meetup #11 - Traveli.co
Startit Meetup #11 - Traveli.coStartit Meetup #11 - Traveli.co
Startit Meetup #11 - Traveli.coStartit
 
Starit meetup #11 - NetDokumenti
Starit meetup #11 - NetDokumentiStarit meetup #11 - NetDokumenti
Starit meetup #11 - NetDokumentiStartit
 
What makes a company not investable?
What makes a company not investable?What makes a company not investable?
What makes a company not investable?Startit
 

Mehr von Startit (16)

Sales meetup #2 / Katarina Mijatovic
Sales meetup #2 / Katarina MijatovicSales meetup #2 / Katarina Mijatovic
Sales meetup #2 / Katarina Mijatovic
 
Sales meetup #2 / Mario Krivokapic
Sales meetup #2 / Mario KrivokapicSales meetup #2 / Mario Krivokapic
Sales meetup #2 / Mario Krivokapic
 
How to sell your company
How to sell your companyHow to sell your company
How to sell your company
 
10% Human and Machine Learning
10% Human and Machine Learning10% Human and Machine Learning
10% Human and Machine Learning
 
Optičko prepoznavanje teksta
Optičko prepoznavanje tekstaOptičko prepoznavanje teksta
Optičko prepoznavanje teksta
 
Black art of writing SSMS extensions
Black art of writing SSMS extensionsBlack art of writing SSMS extensions
Black art of writing SSMS extensions
 
Front-end development iz ugla .NET programera
Front-end development iz ugla .NET programera�Front-end development iz ugla .NET programera�
Front-end development iz ugla .NET programera
 
Igrice za bakice - Ivan Francuski, Eipix - GameUp
Igrice za bakice - Ivan Francuski, Eipix - GameUpIgrice za bakice - Ivan Francuski, Eipix - GameUp
Igrice za bakice - Ivan Francuski, Eipix - GameUp
 
Fliiby path - Brothers Divjak, founders of Fliiby at WWVrsac Conference
Fliiby path - Brothers Divjak, founders of Fliiby at WWVrsac ConferenceFliiby path - Brothers Divjak, founders of Fliiby at WWVrsac Conference
Fliiby path - Brothers Divjak, founders of Fliiby at WWVrsac Conference
 
Zašto sam posato preduzetnik? Rade Joksimović, Loyalis - Startit Meetup #17
Zašto sam posato preduzetnik? Rade Joksimović, Loyalis - Startit Meetup #17Zašto sam posato preduzetnik? Rade Joksimović, Loyalis - Startit Meetup #17
Zašto sam posato preduzetnik? Rade Joksimović, Loyalis - Startit Meetup #17
 
Logstash + Elasticsearch + Kibana Presentation on Startit Tech Meetup
Logstash + Elasticsearch + Kibana Presentation on Startit Tech MeetupLogstash + Elasticsearch + Kibana Presentation on Startit Tech Meetup
Logstash + Elasticsearch + Kibana Presentation on Startit Tech Meetup
 
Development box at Startit Tech Meetup
Development box at Startit Tech MeetupDevelopment box at Startit Tech Meetup
Development box at Startit Tech Meetup
 
Startit Meetup #12 - FIT
Startit Meetup #12 - FITStartit Meetup #12 - FIT
Startit Meetup #12 - FIT
 
Startit Meetup #11 - Traveli.co
Startit Meetup #11 - Traveli.coStartit Meetup #11 - Traveli.co
Startit Meetup #11 - Traveli.co
 
Starit meetup #11 - NetDokumenti
Starit meetup #11 - NetDokumentiStarit meetup #11 - NetDokumenti
Starit meetup #11 - NetDokumenti
 
What makes a company not investable?
What makes a company not investable?What makes a company not investable?
What makes a company not investable?
 

iOS radionica

  • 1. iOS радионица Владимир Митровић
  • 2. iOS
  • 3. Зашто iOS? $$$ • огроман број корисника спремних да дају паре • ~6x већа зарада у односу на Android апликације (wired.com, дец. 2011) • freelance послови
  • 4. Зашто iOS? Удобан и брз развој • квалитетни алати • коначан број уређаја на којима треба тестирати • стандардизована резолуција екрана • добра подршка за старе верзије OS-а
  • 5. Архитектура Application UIKit Cocoa Touch Media Core Services Foundation Core OS
  • 6. iOS развој • Objective-C • Xcode • iPhone Developer Program
  • 7. Objective-C // Person.h @interface Person : NSObject { int age; NSString* name; } // Person.m @implementation Person - (void)print { NSLog(“I’m %@ and I’m %d years old.”, name, age); } @end
  • 8. Методе obj.method() ➞ [obj method] // Без аргумената NSInteger count = [myArray count]; // Са једним аргументом [myArray addObject:myObject]; // Са два аргумента BOOL result = [myData writeToFile:myFile atomically:true]; // Угнежђени позив методе UIImage* image = [UIImage imageNamed:[myObject imageName]];
  • 9. Управљање меморијом * извор: cocoadevcentral.com
  • 10. Управљање меморијом NSString* str1 = [NSString string]; // Аутоматски ослобођена NSString* str2 = [[NSString alloc] init]; [str2 release]; // Ослобођена ручно NSString* str3 = [[[NSString alloc] init] autorelease];
  • 11. Model-View-Controller Controller User action Notify Update Update View Model
  • 12. Ако се заглавите developer.apple.com/devcenter/ios stackoverflow.com google.com Проблем који имате је неко већ решио!

Hinweis der Redaktion

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n