iOS: Frameworks and Delegation
Upcoming SlideShare
Loading in...5
×
 

iOS: Frameworks and Delegation

on

  • 1,146 views

 

Statistics

Views

Total Views
1,146
Views on SlideShare
1,145
Embed Views
1

Actions

Likes
0
Downloads
15
Comments
0

1 Embed 1

https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

iOS: Frameworks and Delegation iOS: Frameworks and Delegation Presentation Transcript

  • iOS:  Frameworks,  Delega3on  and  MapKit   Jussi  Pohjolainen   Tampere  University  of  Applied  Sciences  
  • About  Frameworks  •  Framework  is  a   collec3on  of  classes   that  are  added  to  target  •  Target  =  the  compiled   iOS  app  •  Cocoa  Touch  has   several  frameworks  •  You  can  add  and   remove  frameworks  in   your  project  
  • NSString  NSString  needs  the  Founda3on  framework!   View slide
  • Add  a  Framework  Choose  Target  Select  Build  Phases  Click  +  (Link  Binary  with  Libraries)   View slide
  • About  Delegate  // Create location managerLocationManager* lc = [[LocationManageralloc] init];// Who is receiving location updates? It’s// someObject. What is someObject? It’s// whatever object that implements a// certain protocol![lc setDelegate: someObject];
  • Documenta3on   Whatever  object,   but  is  has  to   implement   CLoca3oinManager Delegate  Protocol!  
  • About  Delegate  // Create location managerlc = [[LocationManager alloc] init];// Set delegate this “this”-object[lc setDelegate: self];
  • Implemen3ng  a  Delegate  #import <UIKit/UIKit.h>#import <CoreLocation/CoreLocation.h>@interface MyLocationViewController :UIViewController<CLLocationManagerDelegate>{ CLLocationManager *locationManager;}
  • Delegate  Methods  
  • Implementa3on  - (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{ // Implementation here}
  • Delega3on  •  Delega3on:  OO  way  of  making  callback  •  Send  messages  to  some  object.  Some  object  must  have   methods  that  are  defined  in  the  protocol  •  The  same  than  in  Java   –  buUon.addAc3onlistener(Ac3onListener  x)   –  Where  x  is  an  interface  •  By  default,  protocol  methods  are  mandatory.  But   protocol  may  hold  op-onal  methods!  •  Typically  in  delegate  protocols,  the  methods  are   op-onal  
  • Delega3on  •  If  delega3on  protocol  method  is  mandatory,   it’s  called  without  checking  •  If  delega3on  protocol  method  is  op3onal,   then  checking  is  done:  if  target  object  contains   this  method,  call  it.   –  This  happens  in  run3me,  you  don’t  have  to  worry   about  this.  
  • CLLoca3onManagerDelegate.h   All  methods  are  op3onal!  
  • Demo:  Using  Debugger  
  • MAPKIT  
  • MapKit  Framework  •  Interface  for  embedding  maps  into  view  •  Supports  also   –  Annota3ng  map   –  Adding  overlay   –  Reverse  geocoding  •  As  of  iOS  6  Apple  uses  it’s  own  maps  instead  of   Google  maps  •  Reference   –  hUp://developer.apple.com/library/ios/ #documenta3on/MapKit/Reference/ MapKit_Framework_Reference/_index.html  
  • How?  •  Add  MapKit  framework  to  your  project  •  Import  MapKit  –  class   –  #import <MapKit/MapKit.h>•  Use  MKMapView  object   –  IBOutlet MKMapView *worldView;•  Show  user  loca3on?   –  Set  showsUserLocation  property  to  YES•  Use  MKMapViewDelegate  protocol
  • MKMapViewDelegate   This  is  called  when  user  loca3on   changes.  In  here  you  can  get   the  coordinates  and  zoom  in   MapView  
  • Annota3ons  •  Display  something  on  a  map:  annota3on  •  Annota3on  is  any  object  that  conforms  to   MKAnnotation  protocol   –  These  objects  can  be  added  to  MKMapView  •  MKAnnota3on  Reference   –  An  object  that  adopts  this  protocol  must   implement  the  coordinate  property.  The  other   methods  of  this  protocol  are  op3onal.  
  • MapPoint  
  • Add  MapPoint  to  Map