Programowanie w języku Swift. Big Nerd Ranch Guide – MATTHEW MATHIAS

25.79

Description

Swift, następca języka Objective-C, pojawił się na rynku w 2014 roku i bardzo szybko zyskuje popularność wśród programistów tworzących aplikacje dla iOS oraz macOS. Charakteryzuje się zwięzłą i przejrzystą składnią, a co więcej, pozwala na korzystanie z nowoczesnych, wysokopoziomowych struktur i cech języka, takich jak typy generyczne czy domknięcia. Jest przy tym wygodny i elastyczny, a jego nauka nie powinna sprawiać problemów nawet tym, którzy dopiero rozpoczynają swoją przygodę z programowaniem.Ta książka jest starannie przygotowanym, praktycznym podręcznikiem efektywnego programowania w języku Swift 3. Wyczerpująco przedstawiono tu zasady posługiwania się środowiskiem programistycznym Xcode 8 i dokumentacją Apple. Dzięki niej zyskasz wiedzę i umiejętności pozwalające na samodzielne rozwiązywanie problemów programistycznych z użyciem języka Swift. Innymi słowy, zaczniesz programować kompletne, efektywne i dojrzałe aplikacje dla platform iOS i macOS.W tej książce:przedstawiono podstawy składni języka Swiftomówiono konstrukcje służące do kontroli przepływu działania programupokazano, jak korzystać z kolekcji, typów wyliczeniowych, struktur i klaszaprezentowano zasady budowania eleganckiego, czytelnego i efektywnego koduprzedstawiono metody projektowania aplikacji opartej na zdarzeniachSwift: wyjątkowe narzędzie do budowy wyjątkowych aplikacji dla Apple!Matt Mathias — jest doktorem socjologii i dyrektorem działu szkoleń w firmie Big Nerd Ranch. Uczy programowania na platformie iOS. Uwielbia jazdę na rowerze, komiksy oraz wszelkiego rodzaju gry.John Gallagher — jest inżynierem oprogramowania i instruktorem w Big Nerd Ranch. Jest znawcą systemów wbudowanych i superkomputerów. Pasjonuje go poznawanie nowych języków programowania. Kiedy nie zajmuje się pracą, spędza czas wolny z żoną i z trzema córkami. Spis treści: Wprowadzenie (13)Poznawanie języka Swift (13)Dokąd zmierza Objective-C? (13)Przygotowania (14)W jaki sposób zorganizowana jest ta książka? (14)Jak korzystać z tej książki? (15)Zadania (15)Dla bardziej dociekliwych (16)Konwencje typograficzne (16)Niezbędny sprzęt i oprogramowanie (16)Zanim zaczniemy (16)CZĘŚĆ I. ROZPOCZĘCIE PRACY1. Rozpoczęcie pracy (21)Rozpoczęcie pracy z Xcode (21)Praca z plikiem typu playground (23)Zmienne i wyświetlanie danych w konsoli (25)Jesteś na dobrej drodze! (27)Zadanie na brązowy medal (28)2. Typy, stałe i zmienne (29)Typy (29)Stała kontra zmienna (31)Interpolacja ciągu tekstowego (32)Zadanie na brązowy medal (33)CZĘŚĆ II. PODSTAWY3. Konstrukcje warunkowe (37)Konstrukcja if-else (37)Operator trójargumentowy (40)Zagnieżdżone konstrukcje if (41)Konstrukcja else if (42)Zadanie na brązowy medal (43)4. Liczby (45)Liczby całkowite (45)Tworzenie egzemplarza liczby całkowitej (47)Operacje na liczbach całkowitych (49)Dzielenie liczb całkowitych (50)Skróty operatorów (50)Operatory przepełnienia (51)Konwersja między typami liczb całkowitych (53)Liczby zmiennoprzecinkowe (54)Zadanie na brązowy medal (56)5. Konstrukcja switch (57)Czym jest konstrukcja switch? (57)Zaczynamy pracę z konstrukcją switch (58)Zakres (61)Dołączanie wartości (62)Klauzula where (64)Krotka i dopasowanie wzorca (65)Konstrukcja switch kontra if-else (68)Zadanie na brązowy medal (70)6. Pętle (71)Pętle for-in (71)Pętla for case (74)Krótka uwaga dotycząca inferencji typu (75)Pętla for (76)Pętla while (77)Pętla repeat-while (78)Polecenia transferu kontroli (ponownie) (78)Zadanie na brązowy medal (81)7. Ciągi tekstowe (83)Praca z ciągami tekstowymi (83)Unicode (85)Skalary Unicode (85)Odpowiednik kanoniczny (88)Zadanie na srebrny medal (91)8. Typ Optional (93)Typy Optional (93)Dołączanie typu Optional (95)Niejawne rozpakowanie typu Optional (98)Łączenie typów Optional (99)Modyfikacja typu Optional w miejscu (100)Operator koalescencji (100)Zadanie na srebrny medal (102)CZĘŚĆ III. KOLEKCJE I FUNKCJE9. Tablice (105)Tworzenie tablicy (105)Uzyskanie dostępu do tablicy i jej modyfikacja (107)Porównywanie tablic (113)Tablice niemodyfikowalne (115)Dokumentacja (116)Zadanie na brązowy medal (116)Zadanie na srebrny medal (117)10. Słowniki (119)Utworzenie słownika (119)Zapełnienie słownika (120)Uzyskanie dostępu do słownika i jego modyfikacja (121)Dodawanie i usuwanie wartości (123)Użycie pętli wraz ze słownikiem (125)Słowniki niemodyfikowalne (126)Konwersja słownika na tablicę (126)Zadanie na srebrny medal (127)11. Zbiory (129)Czym jest zbiór? (129)Utworzenie zbioru (130)Praca ze zbiorami (131)Unie (131)Część wspólna zbiorów (133)Te same elementy w zbiorach (134)Zadanie na brązowy medal (135)Zadanie na srebrny medal (135)12. Funkcje (137)Prosta funkcja (137)Parametry funkcji (138)Nazwy parametrów (139)Parametry wariadyczne (140)Wartość domyślna parametru (141)Parametry in-out (142)Zwrot wartości przez funkcję (144)Funkcje zagnieżdżone i zasięg (144)Zwrot wielu wartości (145)Wartość zwrotna typu Optional (147)Wcześniejsze zakończenie wykonywania funkcji (148)Typy funkcji (149)Zadanie na brązowy medal (149)Zadanie na srebrny medal (150)13. Domknięcia (151)Składnia domknięcia (151)Składnia wyrażenia domknięcia (153)Funkcja jako typ wartości zwrotnej (155)Funkcja jako argument (157)Wartości przechwytywane przez domknięcie (159)Domknięcie jako typ odwołania (161)Programowanie funkcyjne (162)Funkcje wyższego rzędu (163)Zadanie na złoty medal (165)CZĘŚĆ IV. TYPY WYLICZENIOWE, STRUKTURY I KLASY14. Typy wyliczeniowe (169)Podstawowe typy wyliczeniowe (169)Wartości pierwotne w typie wyliczeniowym (173)Metody (176)Powiązane wartości (179)Rekurencyjny typ wyliczeniowy (182)Zadanie na brązowy medal (185)Zadanie na srebrny medal (185)15. Struktury i klasy (187)Nowy projekt (187)Struktury (192)Metody egzemplarza (195)Mutowanie metod (196)Klasy (197)Klasa Monster (197)Dziedziczenie (199)Nazwy parametrów metody (203)Której konstrukcji użyć? (204)Zadanie na brązowy medal (204)Zadanie na srebrny medal (204)Dla bardziej dociekliwych – metody typu (204)Dla bardziej dociekliwych – rozwijanie funkcji (205)16. Właściwości (213)Podstawowe właściwości składowane (213)Typy zagnieżdżone (214)Opóźnione właściwości składowane (215)Właściwości obliczane (218)Metody getter i setter (219)Obserwatorzy właściwości (221)Właściwości typu (222)Kontrola dostępu (226)Kontrola dostępu metod getter i setter (227)Zadanie na brązowy medal (229)Zadanie na srebrny medal (229)Zadanie na złoty medal (229)17. Inicjalizacja (231)Składnia metody inicjalizacyjnej (231)Inicjalizacja struktury (232)Domyślna metoda inicjalizacyjna dla struktury (232)Niestandardowa metoda inicjalizacyjna dla struktury (233)Inicjalizacja klasy (238)Domyślne metody inicjalizacyjne klas (238)Inicjalizacja i dziedziczenie klasy (238)Wymagane metody inicjalizacyjne dla klasy (245)Deinicjalizacja (246)Metody inicjalizacyjne, których działanie może zakończyć się niepowodzeniem (248)Metoda inicjalizacyjna klasy Town, która może zakończyć działanie niepowodzeniem (248)Metody inicjalizacyjne, których działanie może zakończyć się niepowodzeniem w klasach (251)Inicjalizacja w przyszłości (252)Zadanie na srebrny medal (253)Zadanie na złoty medal (253)Dla bardziej dociekliwych – parametry metody inicjalizacyjnej (253)18. Typy wartości kontra typy odwołania (255)Semantyka wartości (255)Semantyka odwołania (258)Wartość stałej i typ odwołania (260)Użycie typów wartości i odwołania razem (263)Niemodyfikowalne typy odwołania (264)Kopiowanie (264)Identyczność kontra równość (267)Którego rozwiązania powinieneś używać? (267)CZĘŚĆ V. ZAAWANSOWANY SWIFT19. Protokoły (271)Formatowanie tabeli danych (271)Protokoły (276)Zgodność z protokołem (280)Dziedziczenie protokołu (282)Kompozycja protokołu (283)Mutowanie metod (284)Zadanie na srebrny medal (285)Zadanie na złoty medal (285)20. Obsługa błędów (287)Klasy błędów (287)Analiza leksykalna danych wejściowych (288)Przechwytywanie błędów (296)Przetwarzanie tablicy tokenów (297)Obsługa błędów przez chowanie głowy w piasku (302)Filozofia obsługi błędów w języku Swift (305)Zadanie na brązowy medal (306)Zadanie na srebrny medal (307)Zadanie na złoty medal (307)21. Rozszerzenia (309)Rozbudowa istniejącego typu (309)Rozszerzanie własnego typu (311)Użycie rozszerzenia w celu zapewnienia zgodności z protokołem (312)Dodanie metody inicjalizacyjnej w rozszerzeniu (313)Zagnieżdżone typy i rozszerzenia (314)Rozszerzenia wraz z funkcjami (315)Pierwsze zadanie na brązowy medal (317)Drugie zadanie na brązowy medal (317)Zadanie na srebrny medal (317)22. Generyki (319)Struktury danych generyków (319)Funkcje i metody generyków (322)Ograniczenia typu (324)Powiązane typy protokołów (325)Ograniczenia typu i klauzule where (329)Zadanie na brązowy medal (331)Zadanie na srebrny medal (331)Zadanie na złoty medal (331)Dla bardziej dociekliwych – lepsze zrozumienie typu Optional (331)Dla bardziej dociekliwych – polimorfizm parametryczny (332)23. Rozszerzenia protokołu (333)Modelowanie ćwiczenia fizycznego (333)Rozszerzenie protokołu ExerciseType (335)Rozszerzenie protokołu wraz z klauzulą where (336)Domyślne implementacje rozszerzeń protokołu (338)Nadawanie nazw – opowieść ku przestrodze (340)Zadanie na brązowy medal (342)Zadanie na złoty medal (342)24. Zarządzanie pamięcią i ARC (343)Alokacja pamięci (343)Cykle silnych odwołań (344)Cykle odwołań w domknięciach (350)Zadanie na brązowy medal (354)Zadanie na srebrny medal (354)Dla bardziej dociekliwych. Czy można pobierać licznik odwołań egzemplarza? (354)25. Równość i porównywalność (357)Zgodność z protokołem Equatable (357)Zgodność z protokołem Comparable (360)Dziedziczenie logiki porównania (363)Zadanie na brązowy medal (364)Zadanie na złoty medal (364)Zadanie na platynowy medal (364)Dla bardziej dociekliwych – własne operatory (365)CZĘŚĆ VI. APLIKACJE DZIAŁAJĄCE NA PODSTAWIE ZDARZEŃ26. Pierwsza aplikacja Cocoa (371)Rozpoczęcie pracy nad aplikacją VocalTextEdit (372)Architektura MVC (373)Przygotowanie kontrolera widoku (374)Przygotowanie widoków w module Interface Builder (377)Dodanie przycisków rozpoczynających i kończących odczyt treści (378)Dodanie widoku tekstowego (379)System Auto Layout (382)Utworzenie połączeń (384)Zdefiniowanie par cel-akcja dla przycisków programu VocalTextEdit (384)Połączenie outletu widoku tekstowego (385)Wydobycie głosu przez VocalTextEdit (387)Zapisywanie i wczytywanie dokumentów (389)Rzutowanie typu (391)Zapis dokumentów (392)Wczytywanie dokumentów (394)Uporządkowanie kodu zgodnie z architekturą MVC (397)Zadanie na srebrny medal (399)Zadanie na złoty medal (399)27. Pierwsza aplikacja iOS (401)Rozpoczęcie pracy nad aplikacją iTahDoodle (402)Przygotowanie interfejsu użytkownika (402)Połączenie ze sobą elementów interfejsu użytkownika (410)Modelowanie listy rzeczy do zrobienia (412)Przygotowanie egzemplarza UITableView (416)Zapisywanie i wczytywanie listy rzeczy do zrobienia (419)Zapisywanie listy rzeczy do zrobienia (419)Wczytywanie listy rzeczy do zrobienia (421)Zadanie na brązowy medal (422)Zadanie na srebrny medal (423)Zadanie na złoty medal (423)28. Współdziałanie języków Swift i Objective-C (425)Projekt w Objective-C (425)Utworzenie aplikacji (427)Dodanie kodu w języku Swift do projektu Objective-C (435)Dodawanie osób (438)Dodanie klasy Objective-C (447)Zadanie na srebrny medal (454)Zadanie na złoty medal (454)29. Zakończenie (455)Co dalej? (455)Bezwstydne wtyczki (455)Zaproszenie (456)Skorowidz (457)

Informatyka

prawo farmaceutyczne, darłowo darłówko odległość, czy 13 kwietnia sklepy są otwarte, bilet na a4 gdzie kupić, decatlon praca, wizzair warszawa budapeszt, co warto kupić w gruzji, uran ukraina, dnb no login, jak dostać zwolnienie od psychiatry forum, wegry ceny, lot informacje o bagażu, złote arkady częstochowa właściciel, specjalista ds. marketingu zarobki, karta podatkowa 2019 stawki, kofola cena, e-deklaracje brak pit 36

yyyyy