objective-c. vademecum profesjonalisty. wydanie iii scan.pdf

(13404 KB) Pobierz
1400349410.001.png
Spis treci
O autorze ............................................................................................... 11
O korektorach merytorycznych .......................................................... 12
Rozdzia 1.
Wprowadzenie ...................................................................................... 13
Zawarto ksiki ................................................................................................................14
Struktura ksiki ..................................................................................................................15
Pomoc ..................................................................................................................................17
Podzikowania ....................................................................................................................17
Cz I
Jzyk Objective-C 2.0 .......................................................19
Rozdzia 2.
Programowanie w jzyku Objective-C .............................................. 21
Kompilacja i uruchamianie programów ..............................................................................21
Kompilacja programów przy uyciu Xcode ..................................................................22
Kompilacja programów przy uyciu terminala .............................................................28
Objanienie kodu pierwszego programu ..............................................................................30
Wywietlanie wartoci zmiennych ......................................................................................34
Podsumowanie ....................................................................................................................36
Rozdzia 3.
Klasy, obiekty i metody ........................................................................ 39
Czym tak waciwie jest obiekt ...........................................................................................39
Egzemplarze i metody .........................................................................................................40
Klasa w jzyku Objective-C do dziaa na uamkach ..........................................................42
Sekcja @interface ................................................................................................................45
Wybór nazw ..................................................................................................................45
Zmienne egzemplarza ...................................................................................................47
Metody klas i egzemplarzy ............................................................................................47
Sekcja @implementation .....................................................................................................49
Sekcja programu ..................................................................................................................50
Zasady dostpu do zmiennych egzemplarzy i hermetyzacja danych ...................................56
Podsumowanie ....................................................................................................................59
Rozdzia 4.
Typy danych i wyraenia ..................................................................... 61
Typy danych i stae ..............................................................................................................61
Typ int ...........................................................................................................................61
Typ float ........................................................................................................................62
Typ char ........................................................................................................................62
Kwalifikatory: long, long long, short, unsigned oraz signed .........................................63
Typ id ............................................................................................................................64
6
Objective-C. Vademecum profesjonalisty
Wyraenia arytmetyczne .....................................................................................................65
Kolejno wykonywania dziaa ...................................................................................65
Arytmetyka liczb cakowitych i jednoargumentowy operator minus ............................68
Operator dzielenia modulo ............................................................................................70
Konwersja midzy typami cakowitymi i zmiennoprzecinkowymi ...............................71
Operator rzutowania typów ...........................................................................................72
Operatory przypisania .........................................................................................................73
Klasa kalkulatora .................................................................................................................74
Rozdzia 5.
Ptle ....................................................................................................... 79
Ptla for ...............................................................................................................................80
Odbieranie danych z klawiatury ....................................................................................86
Zagniedanie ptli for ..................................................................................................88
Warianty ptli 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
Zoone testy relacyjne ................................................................................................106
Zagniedanie 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 dostpowych ..................................................................134
Dostp do waciwoci za pomoc operatora kropki .........................................................135
Metody przyjmujce po kilka argumentów .......................................................................136
Metody bez nazw argumentów ....................................................................................138
Dziaania na uamkach ................................................................................................138
Zmienne lokalne ................................................................................................................141
Argumenty metod ........................................................................................................142
Sowo kluczowe static .................................................................................................142
Sowo kluczowe self ..........................................................................................................145
Alokacja i zwracanie obiektów przez metody ...................................................................146
Rozszerzanie definicji klasy i pliku interfejsowego ....................................................151
Rozdzia 8.
Dziedziczenie ...................................................................................... 153
Pocztek wszystkiego ........................................................................................................153
Wybieranie metody do wywoania ..............................................................................157
Rozszerzanie klas poprzez dziedziczenie — dodawanie nowych metod ...........................157
Klasa reprezentujca punkt i alokacja pamici ............................................................161
Dyrektywa @class .......................................................................................................162
Klasy jako waciciele swoich obiektów .....................................................................166
Przesanianie metod ...........................................................................................................169
Wybór metody .............................................................................................................171
Przesanianie metody dealloc i sowa kluczowego super ............................................173
Rozszerzanie poprzez dziedziczenie — dodawanie zmiennych egzemplarzowych ...........175
Klasy abstrakcyjne ............................................................................................................177
Spis treci
7
Rozdzia 9. Polimorfizm oraz typowanie i wizanie dynamiczne ...................... 181
Polimorfizm — ta sama nazwa, róne klasy ......................................................................181
Wizanie 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
Obsuga wyjtków za pomoc instrukcji @try ..................................................................193
Rozdzia 10. Zmienne i typy danych — techniki zaawansowane ....................... 197
Inicjowanie obiektów ........................................................................................................197
Zakres dostpnoci zmiennych — rozszerzenie wiadomoci ............................................200
Dyrektywy do kontroli zakresu dostpnoci zmiennych .............................................200
Zmienne zewntrzne ...................................................................................................201
Zmienne statyczne .......................................................................................................203
Wyliczenia .........................................................................................................................206
Instrukcja typedef ..............................................................................................................209
Konwersja typów ...............................................................................................................210
Reguy konwersji ........................................................................................................210
Operatory bitowe ...............................................................................................................211
Operator bitowego I ....................................................................................................213
Operator bitowego LUB ..............................................................................................214
Bitowy operator LUB wykluczajcego .......................................................................214
Operator uzupenienia jedynkowego ...........................................................................215
Operator przesunicia w lewo .....................................................................................216
Operator przesunicia w prawo ...................................................................................217
Rozdzia 11. Kategorie i protokoy .......................................................................... 219
Kategorie ...........................................................................................................................219
Kilka uwag na temat kategorii .....................................................................................223
Protokoy i delegacja .........................................................................................................224
Delegacja .....................................................................................................................227
Protokoy nieformalne .................................................................................................228
Obiekty zoone .................................................................................................................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 jzyka 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
8
Objective-C. Vademecum profesjonalisty
Bloki ..................................................................................................................................259
Struktury ............................................................................................................................263
Inicjowanie struktur ....................................................................................................266
Struktury wewntrz struktur ........................................................................................267
Struktury — uzupenienie wiadomoci .......................................................................268
Nie zapomnij o programowaniu obiektowym! ............................................................271
Wskaniki ..........................................................................................................................271
Wskaniki i struktury ..................................................................................................275
Wskaniki, metody i funkcje .......................................................................................277
Wskaniki i tablice ......................................................................................................278
Dziaania na wskanikach ...........................................................................................288
Wskaniki i adresy w pamici .....................................................................................290
Unie ...................................................................................................................................290
To nie s obiekty! ..............................................................................................................292
Rónoci ............................................................................................................................293
Literay zoone ...........................................................................................................293
Instrukcja goto .............................................................................................................293
Instrukcja pusta ...........................................................................................................294
Operator przecinek ......................................................................................................294
Operator sizeof ............................................................................................................295
Argumenty wiersza polece ........................................................................................296
Jak to dziaa .......................................................................................................................298
Fakt 1. Zmienne egzemplarzowe s przechowywane w strukturach ............................... 298
Fakt 2. Zmienna obiektowa jest tak naprawd wskanikiem ........................................... 299
Fakt 3. Metody i funkcje oraz wyraenia wysyajce komunikaty i wywoania funkcji .... 299
Fakt 4. Typ id to ogólny typ wskanikowy ....................................................................... 299
Cz II
Biblioteka Foundation ......................................................303
Rozdzia 14. Wprowadzenie do biblioteki Foundation .......................................... 305
Dokumentacja biblioteki Foundation .................................................................................305
Rozdzia 15. Liczby, acuchy i kolekcje ............................................................... 309
Obiekty liczbowe ...............................................................................................................309
Krótka dygresja na temat puli automatycznej .............................................................311
Obiekty acuchowe ..........................................................................................................314
Funkcja NSLog — rozszerzenie wiadomoci ..............................................................315
Metoda description ......................................................................................................315
Obiekty zmienne i niezmienne ....................................................................................316
acuchy zmienne ......................................................................................................322
Gdzie podziewaj si te wszystkie obiekty? ................................................................326
Obiekty tablicowe ..............................................................................................................328
Budowa ksiki adresowej ..........................................................................................331
Sortowanie tablic .........................................................................................................348
Sowniki ............................................................................................................................355
Enumeracja sownika ..................................................................................................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 zawartoci katalogów .............................................................................376
Zgłoś jeśli naruszono regulamin