objective-c. podstawy helion.pdf
(
57401 KB
)
Pobierz
Spis treci
Wstp
11
Podzikowania
13
O ksice
15
Forum Author Online
19
Informacje na temat ilustracji umieszczonej na okadce
20
Cz I. Rozpoczcie pracy z Objective-C
21
1.
Twoja pierwsza aplikacja iOS
23
1.1.
Wprowadzenie do narzdzi programistycznych na platform iOS ........................................ 24
1.1.1. Dostosowanie struktur Cocoa do potrzeb urzdze mobilnych ...................................... 25
1.2.
Dostosowanie swoich oczekiwa ................................................................................................ 26
1.2.1. Specyfikacja sprztowa na koniec 2011 roku ..................................................................... 26
1.2.2. Spodziewaj si zawodnego poczenia z internetem ........................................................ 27
1.3.
Przygotowanie prostej gry Coin Toss w Xcode ......................................................................... 28
1.3.1. Wprowadzenie do rodowiska IDE firmy Apple — Xcode ............................................. 29
1.3.2. atwe uruchamianie Xcode ................................................................................................29
1.3.3. Utworzenie projektu ........................................................................................................... 30
1.3.4. Tworzenie kodu ródowego .............................................................................................. 33
1.4.
Przygotowanie interfejsu uytkownika ......................................................................................37
1.4.1. Dodanie kontrolek do widoku ............................................................................................ 38
1.4.2. Poczenie kontrolek z kodem ródowym ........................................................................ 39
4
Spis treci
1.5.
Kompilacja gry ............................................................................................................................. 43
1.6.
Uruchomienie gry ........................................................................................................................ 44
1.6.1. Wybór urzdzenia docelowego .......................................................................................... 44
1.6.2. Uywanie punktów kontrolnych do ledzenia stanu dziaajcej aplikacji ....................... 45
1.6.3. Uruchomienie gry Coin Toss w symulatorze .................................................................... 46
1.6.4. Uywanie moduu usuwania bdów ................................................................................. 47
1.7.
Podsumowanie .............................................................................................................................. 49
2.
Typy danych, zmienne i stae
51
2.1.
Wprowadzenie do aplikacji Rental Manager ........................................................................... 52
2.1.1. Podstawy aplikacji ............................................................................................................... 53
2.2.
Podstawowe typy danych ............................................................................................................. 55
2.2.1. Liczenie na palcach — liczby cakowite ............................................................................ 56
2.2.2. Liczby zmiennoprzecinkowe .............................................................................................. 59
2.2.3. Znaki i cigi tekstowe .......................................................................................................... 61
2.2.4. Wartoci boolowskie ........................................................................................................... 63
2.3.
Wywietlanie i konwersja wartoci ............................................................................................ 65
2.3.1. Funkcja NSLog() i specyfikatory formatu .......................................................................... 65
2.3.2. Rzutowanie typów i konwersja typów ................................................................................ 67
2.4.
Tworzenie wasnych typów danych ............................................................................................ 69
2.4.1. Typy wyliczeniowe .............................................................................................................. 69
2.4.2. Struktury .............................................................................................................................. 71
2.4.3. Tablice ................................................................................................................................. 73
2.4.4. Waga odpowiednich nazw ..................................................................................................75
2.5.
Ukoczenie aplikacji Rental Manager 1.0, czyli kierujemy si do App Store! ...................... 77
2.6.
Podsumowanie .............................................................................................................................. 79
3.
Wprowadzenie do obiektów
81
3.1.
Krótkie wprowadzenie do koncepcji programowania zorientowanego obiektowo .............. 82
3.1.1. Co zego jest w jzyku proceduralnym, takim jak C? ....................................................... 82
3.1.2. Czym jest obiekt? ................................................................................................................ 83
3.1.3. Czym jest klasa? .................................................................................................................. 83
3.1.4. Dziedziczenie i polimorfizm .............................................................................................. 83
3.2.
Brakujcy typ danych — id ......................................................................................................... 84
3.3.
Wskaniki i rónice pomidzy odniesieniem i wartoci typu ................................................ 85
3.3.1. Mapowanie pamici ............................................................................................................ 86
3.3.2. Pobieranie adresu zmiennej ............................................................................................... 86
3.3.3. Podanie za wskanikiem .................................................................................................. 87
3.3.4. Porównywanie wartoci wskaników ................................................................................. 88
3.4.
Komunikacja z obiektami ............................................................................................................ 89
3.4.1. Wysyanie wiadomoci obiektowi ...................................................................................... 89
3.4.2. Wysyanie wiadomoci klasie .............................................................................................90
3.4.3. Wysyanie nieistniejcych wiadomoci .............................................................................. 90
3.4.4. Wysanie wiadomoci do nil ............................................................................................... 92
3.5.
Cigi tekstowe .............................................................................................................................. 93
3.5.1. Tworzenie cigu tekstowego ..............................................................................................93
3.5.2. Wyodrbnianie znaków z cigu tekstowego ...................................................................... 94
3.5.3. Modyfikacja cigu tekstowego ............................................................................................95
3.5.4. Porównywanie cigów tekstowych ..................................................................................... 96
3.6.
Przykadowa aplikacja ................................................................................................................. 97
3.7.
Podsumowanie ............................................................................................................................ 100
Spis treci
5
4.
Przechowywanie danych w kolekcjach
101
4.1.
Tablice ......................................................................................................................................... 102
4.1.1. Budowa tablicy .................................................................................................................. 102
4.1.2. Uzyskanie dostpu do elementów tablicy ........................................................................ 104
4.1.3. Wyszukiwanie elementów tablicy .................................................................................... 105
4.1.4. Iteracja przez tablice ......................................................................................................... 106
4.1.5. Dodawanie elementów do tablicy .................................................................................... 108
4.2.
Sowniki ....................................................................................................................................... 110
4.2.1. Tworzenie sownika .......................................................................................................... 110
4.2.2. Uzyskanie dostpu do par przechowywanych w sowniku ............................................. 112
4.2.3. Dodawanie par klucz-warto .......................................................................................... 113
4.2.4. Wywietlenie wszystkich kluczy i wartoci ..................................................................... 114
4.3.
Boxing .......................................................................................................................................... 116
4.3.1. Klasa NSNumber .............................................................................................................. 117
4.3.2. Klasa NSValue ................................................................................................................... 118
4.3.3. nil kontra NULL kontra NSNull ...................................................................................... 118
4.4.
Aplikacja Rental Manager zaczyna uywa danych ..................................................................... 119
4.5.
Podsumowanie ............................................................................................................................ 122
Cz II. Tworzenie wasnych obiektów
123
5.
Tworzenie klas
125
5.1.
Tworzenie wasnej klasy ............................................................................................................ 126
5.1.1. Dodanie nowej klasy do projektu ..................................................................................... 126
5.2.
Deklaracja interfejsu klasy ....................................................................................................... 127
5.2.1. Zmienne egzemplarza ....................................................................................................... 129
5.2.2. Deklarowanie metod ......................................................................................................... 130
5.2.3. Przygotowanie pliku nagówkowego dla klasy CTRentalProperty ................................. 133
5.3.
Utworzenie implementacji klasy .............................................................................................. 135
5.3.1. Zdefiniowanie implementacji metody ............................................................................. 135
5.3.2. Uzyskanie dostpu do zmiennych egzemplarza .............................................................. 135
5.3.3. Wysyanie wiadomoci do self .......................................................................................... 136
5.3.4. Uzupenienie pliku metody klasy CTRentalProperty ..................................................... 137
5.4.
Zdefiniowane waciwoci ......................................................................................................... 138
5.4.1. Skadnia @property .......................................................................................................... 138
5.4.2. Automatyczne wygenerowanie metod typu getter i setter ............................................. 141
5.4.3. Skadnia z uyciem kropki ................................................................................................ 143
5.5.
Tworzenie i usuwanie obiektów ............................................................................................... 144
5.5.1. Tworzenie i inicjalizacja obiektów ................................................................................... 145
5.5.2. Metoda init nie jest najsprytniejsza ................................................................................. 146
5.5.3. Poczenie alokacji i inicjalizacji ...................................................................................... 148
5.5.4. Usuwanie obiektów ........................................................................................................... 149
5.6.
Uywanie klasy w aplikacji Rental Manager .......................................................................... 150
5.7.
Podsumowanie ............................................................................................................................ 153
6.
Rozszerzanie klas
155
6.1.
Tworzenie podklas ..................................................................................................................... 156
6.1.1. Dlaczego tworzymy podklasy? ......................................................................................... 156
6.2.
Dodawanie nowych zmiennych egzemplarza ......................................................................... 158
6
Spis treci
6.3.
Uzyskiwanie dostpu do istniejcych zmiennych egzemplarza ............................................ 161
6.3.1. Podejcie polegajce na rcznym utworzeniu metod typu getter i setter ..................... 162
6.4.
Nadpisywanie metod .................................................................................................................. 163
6.4.1. Nadpisywanie metody description ................................................................................... 164
6.5.
Klastry klas ................................................................................................................................. 166
6.5.1. Dlaczego stosowane s klastry klas? ................................................................................ 167
6.5.2. Wiele klastrów publicznych ............................................................................................. 167
6.6.
Kategorie ..................................................................................................................................... 168
6.6.1. Rozszerzenie klasy bez uycia podklasy .......................................................................... 168
6.6.2. Uywanie kategorii ............................................................................................................ 169
6.6.3. Rozwaania dotyczce uywania kategorii ...................................................................... 170
6.7.
Zastosowanie podklas w aplikacji Rental Manager ................................................................ 171
6.7.1. Utworzenie klasy CTLease i jej podklas .......................................................................... 172
6.7.2. Utworzenie podklasy CTPeriodicLease jako podklasy CTLease ................................... 173
6.7.3. Utworzenie podklasy CTFixedLease jako podklasy CTLease ....................................... 174
6.8.
Podsumowanie ............................................................................................................................ 176
7.
Protokoy
177
7.1.
Definiowanie protokou ............................................................................................................. 179
7.2.
Implementacja protokou .......................................................................................................... 180
7.2.1. Tworzenie funkcji wywoywania metod protokou ......................................................... 180
7.2.2. Zapewnienie klasie zgodnoci z protokoem ................................................................... 182
7.3.
Wane protokoy ........................................................................................................................ 185
7.3.1. Protokó UITableViewDataSource .................................................................................. 185
7.3.2. Protokó UITableViewDelegate ....................................................................................... 188
7.3.3. Protokó UIActionSheetDelegate .................................................................................... 192
7.3.4. Protokó NSXMLParser .................................................................................................... 193
7.4.
Podsumowanie ............................................................................................................................ 198
8.
Dynamiczne okrelanie typu i ustalanie typu w trakcie dziaania aplikacji
199
8.1.
Typy statyczne kontra dynamiczne .......................................................................................... 200
8.1.1. Przyjmowanie zaoe dotyczcych typu ustalanego w trakcie dziaania aplikacji ....... 201
8.2.
czenie dynamiczne ................................................................................................................ 202
8.3.
Jak dziaaj wiadomoci? ........................................................................................................... 203
8.3.1. Metody, selektory i implementacje .................................................................................. 204
8.3.2. Obsuga nieznanych selektorów ....................................................................................... 205
8.3.3. Wysyanie wiadomoci do nil ........................................................................................... 207
8.4.
Informacje o typie dostarczane w trakcie dziaania aplikacji ............................................... 208
8.4.1. Ustalenie, czy wiadomo odpowie na wiadomo ......................................................... 208
8.4.2. Wysyanie wiadomoci wygenerowanej w trakcie dziaania aplikacji ........................... 208
8.4.3. Dodawanie nowych metod do klasy podczas dziaania aplikacji .................................... 210
8.5.
Praktyczne wykorzystanie introspekcji typu podczas dziaania aplikacji ........................... 212
8.6.
Podsumowanie ............................................................................................................................ 213
9.
Zarzdzanie pamici
215
9.1.
Wasno obiektu ....................................................................................................................... 216
9.2.
Licznik uycia obiektu ............................................................................................................... 218
9.2.1. Zwolnienie obiektu ........................................................................................................... 219
9.2.2. Przytrzymanie obiektu ...................................................................................................... 220
9.2.3. Okrelenie biecej wartoci licznika uycia ................................................................... 221
Plik z chomika:
AGAPE_AGAPE
Inne pliki z tego folderu:
autocad 2005 i 2005 pl full.pdf
(22413 KB)
intensywny kurs przywództwa. szybki program rozwoju zdolności przywódczych full.pdf
(9732 KB)
płytki umysł. jak internet wpływa na nasz mózg helion.pdf
(34503 KB)
analiza statystyczna. microsoft excel 2010 pl cała książka.pdf
(27781 KB)
matematyczne-szkielko-i-oko.-mniej-i-bardziej-powazne-zastosowania-matmy full scan.pdf
(28897 KB)
Inne foldery tego chomika:
! # Wrzucone - sprawdzone i pełne Ebooki #
! # Wrzucone - sprawdzone i pełne Ebooki #(1)
! # Wrzucone - sprawdzone i pełne Ebooki #(10)
! # Wrzucone - sprawdzone i pełne Ebooki #(2)
! # Wrzucone - sprawdzone i pełne Ebooki #(3)
Zgłoś jeśli
naruszono regulamin