Objective-C : vademecum profesjonalisty / Stephen G. Kochan

Transkrypt

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

Podobne dokumenty