|

IOS 12 WPROWADZENIE DO PROGRAMOWANIA W SWIFCIE
NEUBURG M. wydawnictwo: HELION , rok wydania 2019, wydanie Vcena netto: 103.95 Twoja cena 98,75 zł + 5% vat - dodaj do koszyka iOS
12
Wprowadzenie do programowania w Swifcie
Podstawy Swifta, Xcode i
Cocoa
Język
Swift poznaliśmy w 2014 roku. Został on opracowany przez Apple
specjalnie dla platormy iOS z uwzględnieniem takich założeń, jak
przejrzystość, bezpieczeństwo, prostota, łatwość stosowania,
zorientowanie obiektowe. Kod w tym języku sam zarządza pamięcią i
zapewnia ścisłą kontrolę typów. Swift od początku wzbudził
ogromne zainteresowanie programistów, którzy
prędko docenili jego zalety. Dziś jest uważany za łatwe do opanowania i
bardzo wygodne narzędzie dla profesjonalistów, zwłaszcza że
od pewnego czasu Apple dostarcza wraz z Swiftem aplikację Xcode oraz
framework Cocoa. To wszystko sprawiło, że Swift stał się bardzo
atrakcyjną alternatywą dla Objective-C.
Ta
książka zawiera bardzo solidne wprowadzenie do tworzenia aplikacji na
platformie iOS. Znalazły się tu systematycznie przedstawione informacje
na temat Swifta, Xcode i frameworka Cocoa. Podstawy języka wyjaśniono w
najużyteczniejszej kolejności, koncentrując się na najczęściej
stosowanych i najpraktyczniejszych aspektach Swifta. Sporo miejsca
poświęcono środowisku Xcode, w którym odbywa się
programowanie na platformie iOS. Omówiono, czym jest
projekt, jak zmienić go na aplikację, jak tworzyć, uruchamiać i
debugować kod źródłowy, a także jak zgłosić aplikację do
sklepu App Store. Bardzo ważną częścią książki jest wprowadzenie do
Cocoa Touch, który zapewnia najważniejsze klasy podstawowe,
kategorie, protokoły, mechanizmy delegowania i powiadamiania, a także
zarządzanie pamięcią.
W
tej książce między innymi:
solidne
podstawy koncepcji Swifta
najnowsze
funkcje dostępne podczas programowania na iOS
cykl
życiowy projektu Xcode
komunikacja
między Swiftem a Objective-C
programowanie
techniką klucz-wartość
Swift.
Doskonałe narzędzie - znakomite efekty!
Dr Matt Neuburg
zaczął programować w 1968 roku jako czternastolatek. Swoją rozprawę
doktorską o Ajschylosie napisał w 1981 r. z użyciem komputera typu
mainframe na Uniwersytecie Cornell. Uczył języków
klasycznych, literatury i kultury na kilku znakomitych uczelniach. W
międzyczasie wciąż interesował się technologiami informatycznymi, a w
1990 roku przeszedł na platformę Macintosh. Opracował kilka bezpłatnych
programów edukacyjnych i użytkowych, redagował serwis
internetowy TidBITS oraz magazyn MacTech. Jest autorem kilku książek i
szeregu artykułów branżowych.
Wprowadzenie
13
CZĘŚĆ I. JĘZYK
1. Architektura
Swifta 23
Zaczynamy 23
Czy wszystko jest obiektem? 24
Trzy odmiany obiektu typu 25
Zmienna 26
Funkcja 27
Struktura pliku Swifta 28
Zasięg i cykl życiowy 31
Elementy składowe obiektu 32
Przestrzeń nazw 32
Moduł 33
Egzemplarz 34
Dlaczego egzemplarz? 36
Słowo kluczowe self 38
Prywatność 39
Projekt 41
Obiekt typu i API 42
Tworzenie, zasięg i cykl życiowy egzemplarzy 44
Podsumowanie 44
2.
Funkcje 47
Parametry funkcji i jej wartość zwrotna 47
Typ wartości zwrotnej i typ parametrów 50
Sygnatura funkcji 51
Zewnętrzne nazwy parametrów 52
Przeciążanie 53
Wartość domyślna parametru 54
Parametr wariadyczny 55
Parametr ignorowany 55
Parametr modyfikowalny 56
Funkcja w funkcji 59
Rekurencja 61
Funkcja jako wartość 61
Funkcja anonimowa 64
Technika zdefiniuj i wywołaj 69
Domknięcie 70
Jak domknięcie pomaga usprawnić kod? 72
Funkcja zwracająca funkcję 73
Domknięcie przypisujące wartość przechwyconej zmiennej 75
Domknięcie zachowujące przechwycone środowisko 76
Dekorator @escaping 77
Rozwijanie funkcji 78
Selektory i odwołania funkcji 79
Zasięg odwołania funkcji 81
Selektor 82
3. Zmienne
i typy proste 85
Cykl życiowy i zasięg zmiennej 85
Deklaracja zmiennej 87
Obliczana wartość początkowa 90
Zmienna obliczana 91
Obserwator funkcji setter 94
Inicjalizacja opóźniona 96
Wbudowane typy proste 98
Bool 98
Liczby 100
Ciąg tekstowy 107
Znak i indeks ciągu tekstowego 111
Zakres 116
Krotka 118
Typ opcjonalny 120
4. Obiekt
typu 133
Funkcje i deklaracje obiektu typu 133
Metoda inicjalizacyjna 135
Właściwość 141
Metoda 144
Indeks 146
Obiekt typu zagnieżdżonego 148
Odwołanie do egzemplarza 148
Wyliczenie 150
Czysta wartość 151
Wartość powiązana 153
Iteracja przez bloki case typu wyliczeniowego 155
Metoda inicjalizacyjna typu wyliczeniowego 155
Właściwości typu wyliczeniowego 157
Metody typu wyliczeniowego 157
Dlaczego typ wyliczeniowy? 158
Struktura 159
Metoda inicjalizacyjna struktury oraz właściwości i metody 160
Struktura jako przestrzeń nazw 161
Klasa 162
Typ przekazywany przez wartość i referencję 162
Podklasa i superklasa 168
Metoda inicjalizacyjna klasy 173
Metoda dealokująca klasy 181
Metody i właściwości klasy 182
Polimorfizm 184
Rzutowanie 187
Rzutowanie w dół 187
Sprawdzanie typu i bezpieczne rzutowanie w dół 188
Sprawdzanie typu i rzutowanie wartości typu opcjonalnego 189
Połączenie z Objective-C 190
Odwołanie do typu 191
Od egzemplarza do typu 191
Typ jako wartość 192
Słowo kluczowe Self 194
Porównywanie typów 196
Podsumowanie terminologii związanej z typami 196
Protokół 197
Dlaczego protokół? 198
Rzutowanie i sprawdzanie typu protokołu 200
Deklarowanie protokołu 201
Łączenie protokołów 202
Opcjonalne elementy składowe protokołu 203
Klasa protokołu 204
Niejawnie wymagana metoda inicjalizacyjna 205
Łatwe do adaptacji literały 207
Generyki 208
Deklaracje generyka 210
Sprzeczna specjalizacja 212
Ograniczenia typu 213
Jawna specjalizacja 215
Inwariancja generyka 217
Łańcuch typów powiązanych 218
Klauzula where 220
Rozszerzenie 223
Rozszerzanie obiektu typu 223
Rozszerzanie protokołu 225
Rozszerzanie generyka 227
Typ parasola 228
Any 229
AnyObject 230
AnyClass 233
Typy kolekcji 233
Tablica 233
Słownik 249
Zbiór 255
5.
Sterowanie przepływem sposobu działania programu i nie tylko 261
Sterowanie przepływem sposobu działania programu 261
Odgałęzienie 262
Pętla 273
Przejście do innego fragmentu kodu 278
Prywatność 292
Poziomy prywatności private i fileprivate 293
Poziomy prywatności public i open 295
Reguły prywatności 295
Introspekcja 296
Operatory 297
Implementacje protokołu syntezowanego 300
Ścieżki kluczy 303
Dynamiczne wyszukiwanie elementów składowych 305
Zarządzanie pamięcią 306
Zarządzanie pamięcią typu przekazywanego przez referencję 306
Dostęp na wyłączność do typu przekazywanego przez wartość 312
CZĘŚĆ II. ŚRODOWISKO IDE
6. Anatomia
projektu Xcode 317
Nowy projekt 317
Okno projektu 319
Panel nawigatora 320
Panel narzędziowy 325
Edytor 327
Pliki projektu i ich zależności 329
Co się znajduje w katalogu projektu? 329
Grupy 330
Cel 331
Opcje Build Phases 332
Opcje Build Settings 333
Konfiguracje 334
Schemat 336
Od projektu do skompilowanej aplikacji 339
Ustawienia kompilacji 341
Ustawienia property list 341
Plik nib 342
Zasoby dodatkowe 343
Pliki kodu źródłowego 346
Frameworki i SDK 346
Proces uruchamiania aplikacji 348
Punkt wejścia aplikacji 348
Funkcja UIApplicationMain() 349
Aplikacja bez pliku storyboard 351
Zmiana nazw elementów projektu 352
7. Zarządzanie
plikami nib 355
Edytor interfejsu nib 356
Lista Document Outline 357
Płótno 360
Karty inspektorów i bibliotek 362
Wczytywanie pliku nib 363
Kiedy jest wczytywany plik nib? 364
Ręczne wczytywanie pliku nib 365
Połączenie 367
Outlet 367
Właściciel pliku nib 368
Automatycznie konfigurowany plik nib 372
Błędna konfiguracja outletu 373
Usunięcie outletu 374
Więcej sposobów na utworzenie outletów 375
Kolekcja outletu 378
Akcja połączenia 378
Więcej sposobów na utworzenie akcji 380
Błędnie skonfigurowana akcja 382
Połączenia między plikami nib 382
Konfiguracja dodatkowa na podstawie egzemplarzy pochodzących z pliku
nib 383
8.
Dokumentacja 387
Okno dokumentacji 387
Strona dokumentacji klasy 388
Dokumentacja Quick Help 392
Deklaracja symbolu 393
Plik nagłówkowy 395
Przykładowy kod źródłowy 395
Zasoby w internecie 396
9. Cykl
życiowy projektu 397
Zależności środowiskowe 397
Dozwolone środowisko uruchomieniowe 398
Zapewnienie wstecznej zgodności 398
Typ urządzenia 400
Argumenty i zmienne środowiskowe 401
Kompilacja warunkowa 402
Kontrola wersji 403
Edytowanie kodu źródłowego i poruszanie się po nim 407
Automatyczne uzupełnianie kodu 408
Fragmenty kodu 410
Funkcja Fix-it i sprawdzanie składni na bieżąco 411
Nawigacja 412
Wyszukiwanie 414
Refaktoryzacja 415
Uruchamianie w symulatorze 416
Debugowanie 417
Debugowanie techniką jaskiniowca 417
Debugger Xcode 420
Testowanie 426
Test jednostkowy 428
Testy interfejsu 430
Czyszczenie 432
Uruchamianie aplikacji w urządzeniu 433
Uczestnictwo w płatnym programie dla programistów 433
Podpisywanie aplikacji 434
Podpisywanie automatyczne 435
Podpisywanie ręczne 438
Uruchomienie aplikacji 440
Zarządzanie urządzeniami i certyfikatami programistycznymi 441
Profilowanie 442
Liczniki 442
Usuwanie problemów związanych z pamięcią 442
Aplikacja Instruments 444
Lokalizacja 448
Dystrybucja 452
Utworzenie archiwum 452
Certyfikat dystrybucyjny 453
Profil dystrybucyjny 455
Dystrybucja na potrzeby testów 455
Przygotowywanie ostatecznej aplikacji 457
Zrzuty ekranu i klip wideo 460
Ustawienia property list 461
Przekazanie aplikacji do sklepu App Store 462
CZĘŚĆ III. COCOA
10.
Klasy Cocoa 467
Podklasa 467
Kategoria i rozszerzenie 470
W jaki sposób Swift używa rozszerzeń? 470
W jaki sposób programista używa rozszerzeń? 470
W jaki sposób Cocoa używa kategorii? 471
Protokół 472
Protokół nieformalny 474
Metoda opcjonalna 475
Wybrane klasy frameworka Foundation 477
NSRange i NSNotFound 478
NSString i przyjaciele 480
NSDate i przyjaciele 482
NSNumber 484
NSValue 486
NSData 486
NSMeasurement i przyjaciele 487
Równość, wartość hash i porównywanie 488
NSArray i NSMutableArray 490
NSDictionary i NSMutableDictionary 492
NSSet i przyjaciele 492
NSIndexSet 493
NSNull 494
Niemodyfikowalne i modyfikowalne 494
property list 495
Protokół Codable 496
Akcesory, właściwości i kodowanie klucz-wartość 499
Akcesory Swifta 501
Kodowanie klucz-wartość 502
Używanie kodowania klucz-wartość 504
KVC i outlet 505
Ścieżka klucza w Cocoa 505
Tajne życie obiektu NSObject 506
11.
Zdarzenia Cocoa 509
Powód istnienia zdarzeń 509
Tworzenie podklasy 510
Powiadomienie 511
Otrzymywanie powiadomienia 512
Wyrejestrowanie obserwatora 514
Publikowanie powiadomienia 516
Licznik czasu 517
Delegowanie 518
Mechanizm delegowania w Cocoa 519
Implementowanie mechanizmu delegowania 520
Źródło danych 522
Akcja 523
Łańcuch respondera 525
Przekazanie odpowiedzialności 526
Akcja skierowana do nil 527
Obserwacja klucz-wartość 528
Rejestracja i powiadamianie 529
Wyrejestrowanie obserwatora 529
Przykład obserwacji klucz-wartość 530
Zalew zdarzeń 532
Opóźnione wykonanie operacji 535
12. Zarządzanie
pamięcią 537
Zasady zarządzania pamięcią przez Cocoa 537
Reguły zarządzania pamięcią w Cocoa 539
Co to jest mechanizm ARC i na czym polega jego działanie? 540
Jak Cocoa zarządza pamięcią obiektu? 540
Automatycznie zwalniana pula 541
Zarządzanie pamięcią właściwości egzemplarza 543
Cykl przytrzymania i odwołanie słabe 544
Nietypowe sytuacje związane z zarządzaniem pamięcią 546
Obserwator powiadomień 546
Obserwator KVO 547
Licznik czasu 548
Pozostałe nietypowe sytuacje 549
Wczytywanie pliku nib i zarządzanie pamięcią 550
Zarządzanie pamięcią obiektów CFTypeRef 551
Polityka zarządzania pamięcią właściwości 552
Debugowanie i błędy popełniane podczas zarządzania pamięcią 555
13.
Komunikacja między obiektami
557
Widoczność poprzez utworzenie egzemplarza 558
Widoczność według związku 560
Widoczność globalna 561
Powiadomienia i obserwacja klucz-wartość 562
Architektura MVC 563
DODATKI
A. Języki C, Objective-C i Swift 569
Skorowidz 601
608
strom, Format: 17.0x24.0cm, oprawa miękka
Po otrzymaniu zamówienia poinformujemy, czy wybrany tytuł polskojęzyczny lub
anglojęzyczny jest aktualnie na półce księgarni.
|