Gwiazdka nieaktywnaGwiazdka nieaktywnaGwiazdka nieaktywnaGwiazdka nieaktywnaGwiazdka nieaktywna
 

Zapraszamy do zapoznania się z językiem programowania Objective-C umożliwiającym tworzenie aplikacji na systemy iOS i Mac OS X.

Autor: Stephen G. Kochan
Data wydania: 2011/12
Stron: 496
[ więcej u wydawcy ]

Darmowy fragment książki w pdf
Cena książki: 79.00 zł

Okładka książki: Objective-C. Vademecum profesjonalisty. Wydanie III

Praktyczny podręcznik tworzenia aplikacji na systemy iOS i Mac OS X!

  • Techniki definiowania klas i sposoby wysyłania komunikatów do obiektów
  • Praca z typami danych, pętlami, klasami i obiektami
  • Korzystanie z bibliotek Foundation oraz Cocoa i Cocoa Touch

Tak jak iPhone, iPad czy iPod Touch błyskawicznie stały się obiektem pożądania milionów ludzi na całym świecie, tak samo szybko rynek upomniał się o specjalistów od tworzenia aplikacji na te innowacyjne urządzenia. Mimo że od 2007 roku, gdy Apple opublikowało zaktualizowaną wersję języka Objective-C, oznaczoną jako 2.0, minęło już trochę czasu, programistów znających ten język wciąż jest niewielu, a zapotrzebowanie na programy dla systemów iOS i Mac OS X stale rośnie. Warto zatem opanować ten potężny język, zarazem prosty i oferujący ogromne perspektywy zawodowe. Zwłaszcza że można go wykorzystać także na wielu innych platformach z kompilatorem gcc, a więc między innymi w systemach Unix, Linux i Windows.

Oto książka stworzona z myślą o programistach stawiających pierwsze kroki w języku Objective-C. Do wykorzystania zawartej tu wiedzy nie jest potrzebna znajomość języka C ani żadnego innego obiektowego języka programowania. Podstawą do nauki są dziesiątki ciekawych przykładów i ćwiczeń, ilustrujących użycie poszczególnych cech i ułatwiających zrozumienie poznawanych zagadnień. Książkę podzielono na trzy części. Pierwsza zawiera podstawowe wiadomości na temat języka Objective-C 2.0, a w drugiej znajdziesz opis klas dostępnych w bibliotece Foundation. Część trzecia poświęcona została niezwykle ważnym bibliotekom Cocoa i Cocoa Touch. Na końcu książki zamieszczono kurs pisania programów dla systemu iOS przy użyciu Software Development Kit iOS oraz biblioteki UIKit. Poznaj Objective-C i czerp z tego korzyści!

  • Proces tworzenia pierwszego programu w języku Objective-C
  • Klasy, obiekty i metody, czyli podstawy programowania obiektowego
  • Typy danych i wyrażenia oraz sposoby ich używania w programach
  • Rodzaje pętli, których można używać w programach: for, while i do
  • Szczegółowy opis technik pracy z klasami i obiektami
  • Wprowadzenie do pojęcia dziedziczenia
  • Polimorfizm oraz typowanie i wiązanie dynamiczne
  • Techniki inicjacji obiektów, bloki, protokoły, kategorie, preprocesor oraz niektóre elementy języka C
  • Obiekty liczbowe i łańcuchowe, kolekcje, systemy plików
  • Techniki zarządzania pamięcią oraz proces kopiowania i archiwizowania obiektów
  • Wprowadzenie do Cocoa i Cocoa Touch
  • Pisanie programów dla systemu iOS i wprowadzenie do SDK iOS oraz biblioteki UIKit

Zacznij pisać własne, funkcjonalne programy na iPhone’a, iPada oraz iPoda Touch!

Spis treści:

O autorze (11)
O korektorach merytorycznych (12)
Rozdział 1. Wprowadzenie (13)
  • Zawartość książki (14)
  • Struktura książki (15)
  • Pomoc (17)
  • Podziękowania (17)
Część I: Język Objective-C 2.0 (19)
Rozdział 2. Programowanie w języku Objective-C (21)
  • Kompilacja i uruchamianie programów (21)
    • Kompilacja programów przy użyciu Xcode (22)
    • Kompilacja programów przy użyciu terminala (28)
  • Objaśnienie kodu pierwszego programu (30)
  • Wyświetlanie wartości zmiennych (34)
  • Podsumowanie (36)
Rozdział 3. Klasy, obiekty i metody (39)
  • Czym tak właściwie jest obiekt (39)
  • Egzemplarze i metody (40)
  • Klasa w języku Objective-C do działań na ułamkach (42)
  • Sekcja @interface (45)
    • Wybór nazw (45)
    • Zmienne egzemplarza (47)
    • Metody klas i egzemplarzy (47)
  • Sekcja @implementation (49)
  • Sekcja programu (50)
  • Zasady dostępu do zmiennych egzemplarzy i hermetyzacja danych (56)
  • Podsumowanie (59)
Rozdział 4. Typy danych i wyrażenia (61)
  • Typy danych i stałe (61)
    • Typ int (61)
    • Typ float (62)
    • Typ char (62)
    • Kwalifikatory: long, long long, short, unsigned oraz signed (63)
    • Typ id (64)
  • Wyrażenia arytmetyczne (65)
    • Kolejność wykonywania działań (65)
    • Arytmetyka liczb całkowitych i jednoargumentowy operator minus (68)
    • Operator dzielenia modulo (70)
    • Konwersja między typami całkowitymi i zmiennoprzecinkowymi (71)
    • Operator rzutowania typów (72)
  • Operatory przypisania (73)
  • Klasa kalkulatora (74)
Rozdział 5. Pętle (79)
  • Pętla for (80)
    • Odbieranie danych z klawiatury (86)
    • Zagnieżdżanie pętli for (88)
    • Warianty pętli for (90)
  • Instrukcja while (91)
  • Instrukcja do (95)
  • Instrukcja break (96)
  • Instrukcja continue (97)
  • Podsumowanie (97)
Rozdział 6. Podejmowanie decyzji (99)
  • Instrukcja if (99)
    • Instrukcja if-else (103)
    • Złożone testy relacyjne (106)
    • Zagnieżdżanie instrukcji if (108)
    • Konstrukcja else if (110)
  • Instrukcja switch (118)
  • Zmienne logiczne (121)
  • Operator warunkowy (126)
Rozdział 7. Klasy raz jeszcze (129)
  • Pisanie interfejsu i implementacji w osobnych plikach (129)
  • Automatyczne tworzenie metod dostępowych (134)
  • Dostęp do właściwości za pomocą operatora kropki (135)
  • Metody przyjmujące po kilka argumentów (136)
    • Metody bez nazw argumentów (138)
    • Działania na ułamkach (138)
  • Zmienne lokalne (141)
    • Argumenty metod (142)
    • Słowo kluczowe static (142)
  • Słowo kluczowe self (145)
  • Alokacja i zwracanie obiektów przez metody (146)
    • Rozszerzanie definicji klasy i pliku interfejsowego (151)
Rozdział 8. Dziedziczenie (153)
  • Początek wszystkiego (153)
    • Wybieranie metody do wywołania (157)
  • Rozszerzanie klas poprzez dziedziczenie - dodawanie nowych metod (157)
    • Klasa reprezentująca punkt i alokacja pamięci (161)
    • Dyrektywa @class (162)
    • Klasy jako właściciele swoich obiektów (166)
  • Przesłanianie metod (169)
    • Wybór metody (171)
    • Przesłanianie metody dealloc i słowa kluczowego super (173)
  • Rozszerzanie poprzez dziedziczenie - dodawanie zmiennych egzemplarzowych (175)
  • Klasy abstrakcyjne (177)
Rozdział 9. Polimorfizm oraz typowanie i wiązanie dynamiczne (181)
  • Polimorfizm - ta sama nazwa, różne klasy (181)
  • Wiązanie dynamiczne i typ id (184)
  • Sprawdzanie typów (186)
  • Typ id i typowanie statyczne (187)
    • Argumenty i typy zwrotne a typowanie dynamiczne (188)
  • Pytanie o klasy (189)
  • Obsługa wyjątków za pomocą instrukcji @try (193)
Rozdział 10. Zmienne i typy danych - techniki zaawansowane (197)
  • Inicjowanie obiektów (197)
  • Zakres dostępności zmiennych - rozszerzenie wiadomości (200)
    • Dyrektywy do kontroli zakresu dostępności zmiennych (200)
    • Zmienne zewnętrzne (201)
    • Zmienne statyczne (203)
  • Wyliczenia (206)
  • Instrukcja typedef (209)
  • Konwersja typów (210)
    • Reguły konwersji (210)
  • Operatory bitowe (211)
    • Operator bitowego I (213)
    • Operator bitowego LUB (214)
    • Bitowy operator LUB wykluczającego (214)
    • Operator uzupełnienia jedynkowego (215)
    • Operator przesunięcia w lewo (216)
    • Operator przesunięcia w prawo (217)
Rozdział 11. Kategorie i protokoły (219)
  • Kategorie (219)
    • Kilka uwag na temat kategorii (223)
  • Protokoły i delegacja (224)
    • Delegacja (227)
    • Protokoły nieformalne (228)
  • Obiekty złożone (229)
Rozdział 12. Preprocesor (233)
  • Instrukcja #define (233)
    • Inne zaawansowane definicje typów (235)
  • Instrukcja #import (239)
  • Kompilacja warunkowa (241)
    • Instrukcje #ifdef, #endif, #else oraz #ifndef (241)
    • Instrukcje #if i #elif (243)
    • Instrukcja #undef (244)
Rozdział 13. Dziedzictwo języka C (245)
  • Tablice (245)
    • Inicjowanie elementów tablic (248)
    • Tablice znaków (249)
    • Tablice wielowymiarowe (250)
  • Funkcje (251)
    • Argumenty i zmienne lokalne (253)
    • Wartość zwrotna funkcji (255)
    • Funkcje, metody i tablice (258)
  • Bloki (259)
  • Struktury (263)
    • Inicjowanie struktur (266)
    • Struktury wewnątrz struktur (267)
    • Struktury - uzupełnienie wiadomości (268)
    • Nie zapomnij o programowaniu obiektowym! (271)
  • Wskaźniki (271)
    • Wskaźniki i struktury (275)
    • Wskaźniki, metody i funkcje (277)
    • Wskaźniki i tablice (278)
    • Działania na wskaźnikach (288)
    • Wskaźniki i adresy w pamięci (290)
  • Unie (290)
  • To nie są obiekty! (292)
  • Różności (293)
    • Literały złożone (293)
    • Instrukcja goto (293)
    • Instrukcja pusta (294)
    • Operator przecinek (294)
    • Operator sizeof (295)
    • Argumenty wiersza poleceń (296)
  • Jak to działa (298)
    • Fakt 1. Zmienne egzemplarzowe są przechowywane w strukturach (298)
    • Fakt 2. Zmienna obiektowa jest tak naprawdę wskaźnikiem (299)
    • Fakt 3. Metody i funkcje oraz wyrażenia wysyłające komunikaty i wywołania funkcji (299)
    • Fakt 4. Typ id to ogólny typ wskaźnikowy (299)
Część II: Biblioteka Foundation (303)
Rozdział 14. Wprowadzenie do biblioteki Foundation (305)
  • Dokumentacja biblioteki Foundation (305)
Rozdział 15. Liczby, łańcuchy i kolekcje (309)
  • Obiekty liczbowe (309)
    • Krótka dygresja na temat puli automatycznej (311)
  • Obiekty łańcuchowe (314)
    • Funkcja NSLog - rozszerzenie wiadomości (315)
    • Metoda description (315)
    • Obiekty zmienne i niezmienne (316)
    • Łańcuchy zmienne (322)
    • Gdzie podziewają się te wszystkie obiekty? (326)
  • Obiekty tablicowe (328)
    • Budowa książki adresowej (331)
    • Sortowanie tablic (348)
  • Słowniki (355)
    • Enumeracja słownika (356)
  • Zbiory (358)
    • Klasa NSIndexSet (362)
Rozdział 16. Praca z plikami (367)
  • Praca z plikami i katalogami - klasa NSFileManager (368)
    • Klasa NSData (372)
    • Praca z katalogami (374)
    • Sprawdzanie zawartości katalogów (376)
  • Praca ze ścieżkami - plik NSPathUtilities.h (378)
    • Najczęściej używane metody do pracy ze ścieżkami do plików (380)
    • Kopiowanie plików i używanie klasy NSProcessInfo (382)
  • Podstawowe operacje na plikach - klasa NSFileHandle (386)
  • Klasa NSURL (390)
  • Klasa NSBundle (391)
Rozdział 17. Zarządzanie pamięcią (395)
  • Pula automatyczna (395)
  • Liczenie referencji (396)
    • Liczenie referencji a łańcuchy (399)
    • Zmienne egzemplarzowe (401)
  • Przykład automatycznego zwalniania (407)
  • Podsumowanie zasad zarządzania pamięcią (409)
  • Pętla zdarzeń a alokacja pamięci (409)
  • Znajdowanie wycieków pamięci (411)
  • Usuwanie nieużytków (411)
Rozdział 18. Kopiowanie obiektów (415)
  • Metody copy i mutableCopy (416)
  • Kopiowanie płytkie i głębokie (418)
  • Implementacja protokołu <NSCopying> (420)
  • Kopiowanie obiektów w metodach ustawiających i sprawdzających (423)
Rozdział 19. Archiwizacja (427)
  • Listy właściwości w formacie XML (427)
  • Archiwizacja przy użyciu klasy NSKeyedArchiver (429)
  • Pisanie metod kodujących i dekodujących (431)
  • Tworzenie archiwów przy użyciu klasy NSData (438)
  • Kopiowanie obiektów przy użyciu archiwizatora (441)
Część III: Cocoa, Cocoa Touch i SDK dla systemu iOS (443)
Rozdział 20. Wprowadzenie do Cocoa i Cocoa Touch (445)
  • Warstwy bibliotek (445)
  • Cocoa Touch (446)
Rozdział 21. Pisanie programów dla systemu iOS (449)
  • Pakiet SDK dla systemu iOS (449)
  • Pierwszy program dla systemu iOS (449)
    • Tworzenie nowego projektu programu dla iPhone'a (451)
    • Wpisywanie kodu (454)
    • Projektowanie interfejsu (457)
  • Kalkulator ułamków (463)
    • Tworzenie projektu Fraction_Calculator (464)
    • Definicja kontrolera widoku (467)
    • Klasa Fraction (471)
    • Klasa Calculator z obsługą ułamków (474)
    • Projekt interfejsu użytkownika (476)
  • Podsumowanie (476)
Dodatki (479)
Dodatek A: Słowniczek (481)
Skorowidz (489)

Książki Helion