sobota, 27 lipca 2013

Lokalizacja - CLLocationManager, CLLocation

Czasami w projektach potrzebny są nam współrzędne użytkownika, poniżej chciałbym przedstawić bardzo prosty menadżer, który pozwoli bardzo łatwo korzystać z dostepnych funkcji bez konieczności kopiowania kodu w kilka miejsc w naszym projekcie, szczególnie jeżeli chcemy używać CLLocationManager w kilku kontrolerach.


#import <Foundation/Foundation.h>
#import <CoreLocation/CLLocation.h>
#import <CoreLocation/CLAvailability.h>
#import <MapKit/MapKit.h>

typedef void (^CLLocationManagerCompletion)(NSArray *locations);
typedef void (^CLLocationManagerError)(NSError *error);


Lekcja 4, Reference Counter cz.1

Witam ponownie po dłuższej przerwie, mam nadzieje ostatniej takiej m.in ze względu na zmianę pracy, przygotowań do ślubu etc. :).

Dzisiaj postaram sie poruszyć temat dosyć ważny i od który powinnien być jednym z tych najbardziej podstawowych - zarządzanie pamięcią w Objective C. Na chwile obecną są dwie drogi zaczynając przygodę z programowaniem własnie w tym języku. Zacznę od tej, która chronologicznie pojawiła się pierwsza.

Non Automatic Reference Counter:

Najprościej ujmując każdy obiekt dziedziczacy po NSObject posiada mechanizm referencje do danego obiektu, dziedziczy również protokół NSObject, który narzuca implementacje metod do zarządzania pamięcią.

Każdy nowo utworzony obiekt przy użyciu metody init, otrzymuje dla licznika referencji +1.



    SimpleObject *simpleObject = [[SimpleObject alloc] init];
    
    NSLog(@"Simple Object reference counter = %d", [simpleObject retainCount]);


    Simple Object reference counter = 1