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


niedziela, 2 grudnia 2012

Lekcja 3, Objective C struktura języka

Witam ponownie:). W poprzedniej części chciałem również podzielić się kilkoma słowami na temat składni języka Objective C, ale pod koniec pisania postu postanowiłem przenieść te informacje do następnej lekcji. 

Jako, że ten blog jest kierowany dla osób, które mam nadzieje miały już do czynienia z programowaniem. Objective C będzie dla was pewnego rodzaju awangardą w porównaniu do chociażby Javy czy C++ (tutaj na pewno będzie mniejsze zaskoczenie). 
Sam pamiętam swoje początki przesiadki z Javy, i przez pierwsze dni naprawdę nie wiedziałem co się dzieje. Pierwsze pytanie, które odbijało się niczym bumerang, "Programuje czy pisze jakąś powieść?!?!?" poniekąd czasem składnia przypomina opis dokładnie tego co chcemy zrobić. Po kilku dniach, a teraz w konsekwencji po kilku zrealizowanych projektach moge z pełną świadomością swoich słów potwierdzić, że nie raz własnie taka składnia uratowała mi cenny czas poszukiwań/domyślania się o co chodzi . Tak własnie, często odpowiednio dobrane nazwy do składni języka Objective C zastepują komentarze. 

Tyle słowami wstępu, przejdzmy do czynu. Skorzystajmy z poprzedniego projektu i klasy ViewController. 


sobota, 1 grudnia 2012

Lekcja 2 - Objective C, deklaracja zmiennych

Objective C - o historii tego języka można poczytać naprawdę wiele... ale nie o tym dzisiaj bede pisał. W punktach zajmiemy się tym co najważniejsze żeby sprawnie zacząć kodowanie. Niestety w tym przypadku ważna bedzie znajomość, umiejętność kodowania w jakimś innym języku gdyż nie bede tutaj prowadził bardzo szczegółowych opisów w tej materii. 

Zanim zaczniemy zwykle pojawia się pytanie .... co oznacza "NS" jako prefix dla każdej klasy standardowo zawartej w SDK.  Polecam lekture postu : "what-does-the-ns-prefix-mean"


1. Deklaracja zmiennych.

Tutaj możemy spotkać się z wieloma metodami deklaracji. Która jest poprawna? jaką stosować? 

Możemy tutaj skorzystać z środowiska XCode i eksperymentować w pliku nagłówkowym ViewController.h oraz ViewController.m. 
Zacznijmy od ViewController.h

- deklaracja zmiennych - przykład



#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
{
    int _primitiveIntegerValue;
    NSInteger _samePrimitiveIntegerValue;
    NSString *_string;
    NSNumber *_numberObject;
}
@end


poniedziałek, 27 czerwca 2011

Lekcja 1 - Instalacja, praca z programem XCode, itd.

Witam wszystkich serdecznie. 

Co potrzebujemy, żeby przystąpić do programowania w języku Objective C. 

1. Komputer spod znaku "jabłuszka", dla planujacych zakup najtniej wyjdzie mini mac z niedrogim monitorem. Dla bardziej zamożnych macbook pro, imac itd. 

2. Jeżeli nasz komputer posiada system Lion, bądź wyższy instalacja odbędzie się bezproblemowo przez aplikacje App Store - (aplikacja dostępna razem z systemem). 





Kiedy aplikacja zostanie zainstalowana możemy przystąpić do napisania pierwszego "Hello Word". 

Otwieramy program Xcode i postępujemy zgodnie z instrukcją przedstawioną poniżej.