Деталі електронної книги

Objective-C. Vademecum profesjonalisty. Wydanie III

Objective-C. Vademecum profesjonalisty. Wydanie III

Stephen G. Kochan

Eлектронна книга

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!


Stephen G. Kochan jest autorem lub współautorem kilku uznanych książek na temat języka C, między innymi Programming in C, Programming in ANSI C i Topics in C Programming, a także kilku publikacji dotyczących Uniksa, np. Exploring the Unix System i Unix Shell Programming. Pisze programy dla komputerów Macintosh od samego początku ich istnienia, a więc od roku 1984, kiedy pojawił się pierwszy Mac. Napisał książkę Programming C for the Mac wydaną w serii Apple Press Library, a także książkę Beginning AppleScript.

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)

  • Назва: Objective-C. Vademecum profesjonalisty. Wydanie III
  • Автор: Stephen G. Kochan
  • Оригінальна назва: Programming in Objective-C (3rd Edition) (Developer's Library)
  • Переклад: Łukasz Piwko
  • ISBN: 978-83-246-6964-6, 9788324669646
  • Дата видання: 2013-01-10
  • Формат: Eлектронна книга
  • Ідентифікатор видання: objcp3
  • Видавець: Helion