iOS_5_Podrecznik_programisty_ios5pp.pdf

(894 KB) Pobierz
1021146211.001.png
Tytuł oryginału: The iOS 5 Developer's Cookbook:
Core Concepts and Essential Recipes for iOS Programmers (3rd Edition)
Tłumaczenie: Robert Górczyński (wstęp, rozdz. 2 – 15), Łukasz Suma (rozdz. 1)
ISBN: 978-83-246-5121-4
Authorized translation from the English edition, entitled: THE IOS 5 DEVELOPER’S COOKBOOK: CORE
CONCEPTS AND ESSENTIAL RECIPES FOR IOS PROGRAMMERS, Third Edition; ISBN 0321832078;
by Erica Sadun; published by Pearson Education, Inc, publishing as Addison Wesley.
Copyright © 2012 by Pearson Education, Inc.
All rights reserved. No part of this book may be reproduced od transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from Pearson Education, Inc.
Polish language edition published by HELION S.A., Copyright © 2013.
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.
Wydawnictwo HELION dołożyło wszelkich starań, by zawarte w tej książce informacje były kompletne
i rzetelne. Nie bierze jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym
ewentualne naruszenie praw patentowych lub autorskich. Wydawnictwo HELION nie ponosi 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)
Pliki z przykładami omawianymi w książce można znaleźć pod adresem: ftp://ftp.helion.pl/przyklady/ios5pp.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/ios5pp
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
1021146211.002.png
Spis treści
Podzikowania .......................................................................................... 21
O autorce .................................................................................................. 22
Wstp ....................................................................................................... 23
1
Wprowadzenie do iOS SDK ......................................................................... 33
Programy twórców iOS .............................................................................................. 33
Online Developer Program ................................................................................... 33
Standard Developer Program ............................................................................... 34
Developer Enterprise Program ............................................................................. 35
Developer University Program .............................................................................. 35
Rejestracja ........................................................................................................ 35
Rozpoczcie pracy ................................................................................................... 35
Pobieranie SDK .................................................................................................. 36
Urzdzenia do tworzenia aplikacji ......................................................................... 37
Ograniczenia symulatora ..................................................................................... 38
Podczenie urzdzenia do komputera .................................................................. 40
Rónice pomidzy modelami ..................................................................................... 41
Wymiary ekranu .................................................................................................. 41
Kamera ............................................................................................................. 42
Dwik ............................................................................................................... 42
Telefonia ........................................................................................................... 43
Rónice zwizane z Core Location i Core Motion ................................................... 43
Obsuga wibracji i zblienia .................................................................................. 44
Szybkoci procesorów ......................................................................................... 44
OpenGL ES ........................................................................................................ 44
Ograniczenia platformy ............................................................................................. 45
Ograniczenia przestrzeni na dane ......................................................................... 45
Ograniczenia dostpu do danych .......................................................................... 45
Ograniczenia pamici .......................................................................................... 46
Ograniczenia interakcji ........................................................................................ 50
Ograniczenia energetyczne .................................................................................. 50
Ograniczenia aplikacji ......................................................................................... 51
Ograniczenia moliwoci dziaa uytkownika ........................................................ 52
8
iOS 5. Podrcznik programisty
Ograniczenia SDK .................................................................................................... 52
Korzystanie z serwisu Provisioning Portal ................................................................... 53
Zdefiniowanie zespou ........................................................................................ 54
Uzyskiwanie certyfikatów ..................................................................................... 54
Rejestrowanie urzdze ...................................................................................... 55
Rejestrowanie identyfikatorów aplikacji ................................................................. 56
Akredytacja ........................................................................................................ 57
Skadanie projektów iPhone w cao ........................................................................ 58
Szkielet aplikacji iPhone ...................................................................................... 60
main.m .............................................................................................................. 61
Delegat aplikacji ................................................................................................. 63
Kontroler widoku ................................................................................................ 65
Uwaga na temat przykadowego kodu prezentowanego w tej ksice ....................... 66
Komponenty aplikacji iOS ......................................................................................... 67
Hierarchia katalogów aplikacji .............................................................................. 67
Plik wykonywalny ................................................................................................ 67
Plik Info.plist ...................................................................................................... 68
Ikona i obrazy rozruchowe ................................................................................... 69
Pliki narzdzia Interface Builder ........................................................................... 72
Pliki nienalece do paczki aplikacji ..................................................................... 72
Archiwa IPA ........................................................................................................ 73
Piaskownice ....................................................................................................... 74
Paradygmaty programowania .................................................................................... 74
Programowanie zorientowane obiektowo ............................................................... 75
Model-widok-kontroler ......................................................................................... 75
Podsumowanie ........................................................................................................ 83
2
Obóz treningowy Objective-C ..................................................................... 85
Jzyk programowania Objective-C .............................................................................. 85
Klasy i obiekty ......................................................................................................... 86
Tworzenie obiektów ............................................................................................ 88
Alokacja pamici ................................................................................................ 88
Zwalnianie pamici ............................................................................................. 89
Licznik uycia obiektu ......................................................................................... 90
Metody, wiadomoci i selektory ................................................................................ 90
Niezadeklarowane metody ................................................................................... 91
Wskanik do obiektu ........................................................................................... 92
Dziedziczenie metod ........................................................................................... 93
Deklarowanie metod ........................................................................................... 93
Implementacja metody ........................................................................................ 93
Metody klasy ...................................................................................................... 95
Szybkie wyliczenie .............................................................................................. 96
Hierarchia klas ........................................................................................................ 97
Wywietlanie informacji ............................................................................................ 98
Podstawy zarzdzania pamici .............................................................................. 100
Zarzdzanie pamici poprzez MRR ................................................................... 100
Zarzdzanie pamici za pomoc technologii ARC ............................................... 103
Spis treci
9
Waciwoci .......................................................................................................... 104
Hermetyzacja ................................................................................................... 105
Zapis z uyciem kropki ...................................................................................... 105
Waciwoci i zarzdzanie pamici ................................................................... 105
Deklaracja waciwoci ..................................................................................... 106
Tworzenie wasnych metod typu getter i setter .................................................... 108
Kwalifikatory waciwoci .................................................................................. 110
Funkcja KVC ..................................................................................................... 111
Funkcja KVO ..................................................................................................... 112
Technologia MRR i dua warto licznika uycia .................................................. 112
Inne sposoby tworzenia obiektów ....................................................................... 113
Usuwanie obiektu z pamici .............................................................................. 114
Uywanie bloków .................................................................................................... 117
Definiowanie bloku w kodzie .............................................................................. 118
Przypisywanie odniesie do bloku ...................................................................... 119
Blok i zmienne lokalne ...................................................................................... 120
Blok i typedef ................................................................................................... 120
Bloki i zarzdzanie pamici w technologii MRR .................................................. 121
Inne uycie bloków ............................................................................................ 121
Technologia ARC .................................................................................................... 121
Kwalifikatory waciwoci i zmiennych ................................................................ 122
Licznik odniesie .............................................................................................. 125
Pula zwalniana automatycznie ........................................................................... 127
Stosowanie technologii ARC — za i przeciw ............................................................. 128
Migracja do ARC ............................................................................................... 128
Wyczenie ARC w projekcie .............................................................................. 129
Wyczenie ARC dla poszczególnych plików ......................................................... 130
Utworzenie projektu niezgodnego z ARC na bazie szablonu w Xcode ..................... 130
Reguy dotyczce ARC ............................................................................................ 131
Uycie technologii ARC wraz z Core Foundation i rzutowaniem typów danych ............... 132
Rzutowanie pomidzy Objective-C i Core Foundation ............................................ 132
Wybór odpowiedniego podejcia ........................................................................ 134
Rozwizania stosowane w trakcie dziaania aplikacji ............................................ 134
Wskazówki i podpowiedzi dotyczce pracy z ARC ................................................. 135
Wzorzec Singleton .................................................................................................. 136
Kategorie (rozszerzenia klas) .................................................................................. 137
Protokoy ............................................................................................................... 138
Definiowanie protokou ..................................................................................... 138
Stosowanie protokou ....................................................................................... 139
Dodanie wywoa zwrotnych .............................................................................. 139
Deklaracja opcjonalnych wywoa zwrotnych ........................................................ 140
Implementacja opcjonalnych wywoa zwrotnych ................................................. 140
Zgodno z protokoem ..................................................................................... 141
Klasy Foundation ................................................................................................... 142
Cigi tekstowe ................................................................................................. 142
Liczby i daty ..................................................................................................... 147
Kolekcje .......................................................................................................... 149
Zgłoś jeśli naruszono regulamin