sobota, 7 marca 2015

Open Weather Map IOS OS X

Witam,

Dzisiaj krótko chciałem się podzielić małym frameworkiem który udało mi się swego czasu napisać w wolnym czasie.

Bezpośrednio dobiera się do danych z openweathermap.org i obsługuje większość zapytań do tego API.

W razie potrzeby chetnie podziele się codem źródłowym, framework dla IOS i OSX znajdziecie tutaj:

https://github.com/jacekgrygiel/OpenWeatherMap-OSX-IOS


czwartek, 28 listopada 2013


Witam,

Dzisiaj szybkie wejście w parsowanie plików csv. W przykładzie posłużę się plikiem zawierającym informacje na temat miast (nazwa, kraj, współrzędne itd.). Do czego oczekujemy tabela z opcją wyszukiwania - czyli prototyp aplikacji.



środa, 20 listopada 2013

NSCache - dlaczego by nie?

Zwykle programiści używają podręcznego cache przy użyciu nsdictionary. Chciałbym w dzisiejszym poście zwrócić uwage na coś czym bez problemowo możemy zastąpić nsdictionary a co oferuje nam SDK, niestety programiści Objective C, zbyt rzadko sięgają moim zdaniem po NSCache.


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