Objective_C_Podstawy_objecp.pdf

(1718 KB) Pobierz
Tytuł oryginału: Objective-C Fundamentals, ISBN: 1935182536
Tłumaczenie: Robert Górczyński
ISBN: 978-83-246-4144-4
Original edition copyright © 2012 by Manning Publications Co.
All rights reserved.
Polish edition copyright © 2012 by HELION S.A.
All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie biorą jednak
żadnej
odpowiedzialności ani za ich wykorzystanie, ani za związane
z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION
nie ponoszą również
żadnej
odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie?objecp
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/objecp.zip
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis tre ci
WstÚp
PodziÚkowania
O ksiÈ ce
Forum Author Online
Informacje na temat ilustracji umieszczonej na okïadce
11
13
15
19
20
CzÚ Ê I. RozpoczÚcie pracy z Objective-C
1.
Twoja pierwsza aplikacja iOS
1.1.
1.2.
21
23
1.3.
1.4.
Wprowadzenie do narzÚdzi programistycznych na platformÚ iOS ........................................ 24
1.1.1. Dostosowanie struktur Cocoa do potrzeb urzÈdzeñ mobilnych ...................................... 25
Dostosowanie swoich oczekiwañ ................................................................................................ 26
1.2.1. Specyfikacja sprzÚtowa na koniec 2011 roku ..................................................................... 26
1.2.2. Spodziewaj siÚ zawodnego poïÈczenia z internetem ........................................................ 27
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ódïowego .............................................................................................. 33
Przygotowanie interfejsu u ytkownika ...................................................................................... 37
1.4.1. Dodanie kontrolek do widoku ............................................................................................ 38
1.4.2. PoïÈczenie kontrolek z kodem ródïowym ........................................................................ 39
Kup książkę
Poleć książkę
4
Spis tre ci
1.5.
1.6.
1.7.
Kompilacja gry ............................................................................................................................. 43
Uruchomienie gry ........................................................................................................................ 44
1.6.1. Wybór urzÈdzenia docelowego .......................................................................................... 44
1.6.2. U ywanie punktów kontrolnych do ledzenia stanu dziaïajÈcej aplikacji ....................... 45
1.6.3. Uruchomienie gry Coin Toss w symulatorze .................................................................... 46
1.6.4. U ywanie moduïu usuwania bïÚdów ................................................................................. 47
Podsumowanie .............................................................................................................................. 49
2.
Typy danych, zmienne i staïe
2.1.
2.2.
51
2.3.
2.4.
2.5.
2.6.
Wprowadzenie do aplikacji Rental Manager ........................................................................... 52
2.1.1. Podstawy aplikacji ............................................................................................................... 53
Podstawowe typy danych ............................................................................................................. 55
2.2.1. Liczenie na palcach — liczby caïkowite ............................................................................ 56
2.2.2. Liczby zmiennoprzecinkowe .............................................................................................. 59
2.2.3. Znaki i ciÈgi tekstowe .......................................................................................................... 61
2.2.4. Warto ci boolowskie ........................................................................................................... 63
Wy wietlanie i konwersja warto ci ............................................................................................ 65
2.3.1. Funkcja NSLog() i specyfikatory formatu .......................................................................... 65
2.3.2. Rzutowanie typów i konwersja typów ................................................................................ 67
Tworzenie wïasnych 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
Ukoñczenie aplikacji Rental Manager 1.0, czyli kierujemy siÚ do App Store! ...................... 77
Podsumowanie .............................................................................................................................. 79
3.
Wprowadzenie do obiektów
3.1.
81
3.2.
3.3.
3.4.
3.5.
3.6.
3.7.
Krótkie wprowadzenie do koncepcji programowania zorientowanego obiektowo .............. 82
3.1.1. Co zïego jest w jÚzyku 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
BrakujÈcy typ danych — id ......................................................................................................... 84
Wska niki i ró nice pomiÚdzy odniesieniem i warto ciÈ typu ................................................ 85
3.3.1. Mapowanie pamiÚci ............................................................................................................ 86
3.3.2. Pobieranie adresu zmiennej ............................................................................................... 86
3.3.3. PodÈ anie za wska nikiem .................................................................................................. 87
3.3.4. Porównywanie warto ci wska ników ................................................................................. 88
Komunikacja z obiektami ............................................................................................................ 89
3.4.1. Wysyïanie wiadomo ci obiektowi ...................................................................................... 89
3.4.2. Wysyïanie wiadomo ci klasie ............................................................................................. 90
3.4.3. Wysyïanie nieistniejÈcych wiadomo ci .............................................................................. 90
3.4.4. Wysïanie wiadomo ci do nil ............................................................................................... 92
CiÈgi tekstowe .............................................................................................................................. 93
3.5.1. Tworzenie ciÈgu tekstowego .............................................................................................. 93
3.5.2. WyodrÚbnianie znaków z ciÈgu tekstowego ...................................................................... 94
3.5.3. Modyfikacja ciÈgu tekstowego ............................................................................................ 95
3.5.4. Porównywanie ciÈgów tekstowych ..................................................................................... 96
Przykïadowa aplikacja ................................................................................................................. 97
Podsumowanie ............................................................................................................................ 100
Kup książkę
Poleć książkę
Spis tre ci
5
4.
Przechowywanie danych w kolekcjach
4.1.
101
4.2.
4.3.
4.4.
4.5.
Tablice ......................................................................................................................................... 102
4.1.1. Budowa tablicy .................................................................................................................. 102
4.1.2. Uzyskanie dostÚpu 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
Sïowniki ....................................................................................................................................... 110
4.2.1. Tworzenie sïownika .......................................................................................................... 110
4.2.2. Uzyskanie dostÚpu do par przechowywanych w sïowniku ............................................. 112
4.2.3. Dodawanie par klucz-warto Ê .......................................................................................... 113
4.2.4. Wy wietlenie wszystkich kluczy i warto ci ..................................................................... 114
Boxing .......................................................................................................................................... 116
4.3.1. Klasa NSNumber .............................................................................................................. 117
4.3.2. Klasa NSValue ................................................................................................................... 118
4.3.3. nil kontra NULL kontra NSNull ...................................................................................... 118
Aplikacja Rental Manager zaczyna u ywaÊ danych ..................................................................... 119
Podsumowanie ............................................................................................................................ 122
CzÚ Ê II. Tworzenie wïasnych obiektów
5.
Tworzenie klas
5.1.
5.2.
123
125
5.3.
5.4.
5.5.
5.6.
5.7.
Tworzenie wïasnej klasy ............................................................................................................ 126
5.1.1. Dodanie nowej klasy do projektu ..................................................................................... 126
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
Utworzenie implementacji klasy .............................................................................................. 135
5.3.1. Zdefiniowanie implementacji metody ............................................................................. 135
5.3.2. Uzyskanie dostÚpu do zmiennych egzemplarza .............................................................. 135
5.3.3. Wysyïanie wiadomo ci do self .......................................................................................... 136
5.3.4. Uzupeïnienie pliku metody klasy CTRentalProperty ..................................................... 137
Zdefiniowane wïa ciwo ci ......................................................................................................... 138
5.4.1. Skïadnia @property .......................................................................................................... 138
5.4.2. Automatyczne wygenerowanie metod typu getter i setter ............................................. 141
5.4.3. Skïadnia z u yciem kropki ................................................................................................ 143
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. PoïÈczenie alokacji i inicjalizacji ...................................................................................... 148
5.5.4. Usuwanie obiektów ........................................................................................................... 149
U ywanie klasy w aplikacji Rental Manager .......................................................................... 150
Podsumowanie ............................................................................................................................ 153
6.
Rozszerzanie klas
6.1.
6.2.
155
Tworzenie podklas ..................................................................................................................... 156
6.1.1. Dlaczego tworzymy podklasy? ......................................................................................... 156
Dodawanie nowych zmiennych egzemplarza ......................................................................... 158
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin