@hebato
11 obserwujących
hebato 2023-01-20 10:29:39 +1
#naukaswifta
Dzień 74/100 kursu 100 days of SwiftUI

Teoria - wstęp do kolejnego projektu. W dniu dzisiejszym wytłumaczono jak przygotować appkę do pracy z ułatwieniami Dostępności. Zaznajomiłem się z :
.accessibilityElement
.accessibilityLabel
.accessibilityValue
.accessibilityAdjustableAction

Ja jako użytkownik - na telefonie nigdy z tego nie korzystam, jednak ważne jest, żeby appki to miały wbudowane.

#naukaprogramowania #ios #swift
hebato 2023-01-19 19:35:59 +1
#naukaswifta
Dzień 73/100 kursu 100 days of SwiftUI

Ostatni dzień pracy z appką BucketList. Jak przy każdym projekcie, w tym dniu jest test 12 pytań A/B oraz 3 zadania - challenge:
`
1. Our + button is rather hard to tap. Try moving all its modifiers to the image inside the button – what difference does it make, and can you think why?
2. Our app silently fails when errors occur during biometric authentication, so add code to show those errors in an alert.
3. Create another view model, this time for EditView. What you put in the view model is down to you, but I would recommend leaving dismiss and onSave in the view itself – the former uses the environment, which can only be read by the view, and the latter doesn’t really add anything when moved into the model.
`

W appce od strony wizualnej za dużo się nie zmieniło, więc wygląda tak samo jak na zdjęciach, które wrzucałem kilka dni temu. Nie wrzucam więc nic nowego, od jutra zaczynamy nowy projekt.
hebato 2023-01-18 10:39:24 +1
#naukaswifta
Dzień 72/100 kursu 100 days of SwiftUI

Dziś w ramach ostatniego szlifu, do appki wprowadzono MVVM, bo wcześniej nie skupialiśmy się na poprawnych wzorcach. W sumie dobrze, bo były ważniejsze rzeczy do nauki. Wytłumaczono o co chodzi z @MainActor. Poprawiono kod.
Do appki dodano funkcjonalności - teraz zaznaczone miejscówki są zapisane w pamięci urządzenia, a także jako przykład dodano blokowanie aplikacji za pomocą Face ID.
hebato 2023-01-17 09:43:48 +2
#naukaswifta
Dzień 71/100 kursu 100 days of SwiftUI

Wow! Co tu się dzieje?! Po aktualizacji wykop wygląda jak reddit 乁(⫑ᴥ⫒)ㄏ

A u mnie kolejny dzień odhaczony. Dzisiaj były dwie krótkie lekcje z wytłumaczeniem jak pobierać i sortować dane z Wikipedii. Efektem tego było dodanie kolejnej funkcjonalności do appki Bucketlist - wyświetlanie miejsc znajdujących się w poblżu zapisanego celu podróży + jego opis (też z Wikipedii).
Wrzucę screena z przykładem dla Warszawy.
hebato 2023-01-17 09:46:19 +0
symulator - wyświetlanie miejsc w pobliżu + opisy. wszystko z wikipedii
Jamniki2 2023-01-18 00:52:19 +0
@hebato: hej i co caly kod piszesz od zera? czy nie uzywasz w ogole swiftui w sensie przeciaganie obrazkow, dodawanie buttonow plusikiem itp, jak to wyglada?
hebato 2023-01-14 10:59:29 +2
#naukaswifta
Dzień 68/100 kursu 100 days of SwiftUI

Zaczynamy nową appkę - BucketList. Będzie można w niej stworzyć na mapie listę miejsc do odwiedzenie, dodać opis i zapisać w pamięci urządzenia na później.

Jako wstęp - teoria wytłumaczono jak działa Comparable, jak zapisać dane w urządzeniu:
`
func getDocumentsDirectory() -> URL {
// find all possible documents directories for this user
let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)

// just send back the first one, which ought to be the only one
return paths[0]
}`


oraz jak przełączać View za pomocą enum

Z tym ostatnim miałem do czynienia właśnie jednej z lekcji Swiftful Thinking na YT , ten gość - Nick Sarno mega fajnie wszystko tłumaczy. Nie jest mocno popularny, ale uważam że naprawdę potrafi on przekazać wiedzę.
hebato 2023-01-13 12:27:00 +4
#naukaswifta
Dzień 66/100 kursu 100 days of SwiftUI

Ostatni dzień pracy z appką Instafilter.
Do wykonania był test A/B - 12 pytań odnośnie projektu.
Po tym 3 zadania do zrobienia na appce.
1. Try making the Save button disabled if there is no image in the image view.
2. Experiment with having more than one slider, to control each of the input keys you care about. For example, you might have one for radius and one for intensity.
3. Explore the range of available Core Image filters, and add any three of your choosing to the app.

1. zrobione dodając .disabled(inputImage == nil) do Buttona
2. dodałem kolejne filtry - kCIInputRadiusKey oraz kCIInputScaleKey oraz Slidery do Radius i Intensity
3. dodałem trzy nowe Buttony działające z innymi CIFilter. (Noir, Bloom, Pointillize).

#naukaprogramowania #ios #swift
hebato 2023-01-13 12:27:05 +0
CAŁY KOD -> link
hebato 2023-01-13 12:27:35 +0
screen 1

`Button("Save", action: save)
.disabled(inputImage == nil)`
hebato 2023-01-10 12:50:06 +2
#naukaswifta
Dzień 64/100 kursu 100 days of SwiftUI


Dzisiaj była mega ciężka lekcja. Wytłumaczone jak działają: coordinators, delegates, NSObject, @objc, selectors, jak to jest powiązane z UIKit i Objective-C. Dużo trudnej teorii, czego efektem było zbudowanie ImagePicker i ImageSaver do aplikacji, którą będziemy dalej budować.

Kod - ImagePicker

Kod - ImageSaver
StrangeGem 2023-01-10 16:23:07 +2
@hebato: Samo gęste i przydatne ( ͡° ͜ʖ ͡°)
hebato 2023-01-09 13:08:48 +2
#naukaswifta
Dzień 63/100 kursu 100 days of SwiftUI

Dzisiaj była mowa o integrowaniu Core Image z SwiftUI.
Wyjaśniono różnice między Image, UIImage, CGImage i CIImage
Jako przykład (teoria) zrobiliśmy filtr do zdjęcia. Pokazano jak wygląda pixellate, crystallize, sepiaTone, twirlDistorition.
Następnie wyjaśnione zostało jak zrobić ImagePicker. nic jednak dalej nie działa, nie można zrobić nic z wybranynm obrazkiem, o tym ma być jutro: coordinators.
hebato 2023-01-09 13:09:19 +0
@hebato: przykład - pixellate()
hebato 2023-01-09 13:21:52 +1
@hebato: poleceasz? jak nic nie umiem to ogarne tak zeby zrobic apke jakas?

@Big_Fomo: czy polecam - tak, język wydaje się być przyjemny, aczkolwiek nie mam porównania z innymi.

a druga cześć pytania - oczywiście, że ogarniesz, ale żeby zbudować całą appke od początku do końca to trzeba jednak mieć troszkę wiedzy.
po 1-2 miesiącach nauki jak otworzysz sobie jakiś tutorial, gdzie ktoś buduje appke od początku do końca to jesteś w stanie ją sobie przerobić na swoje upodobania (np. przyciski gdzie indziej, inne kolory, kształty, itd...)
jednak jeśli będziesz chciał zaimplementować tam jakieś swoje rozwiązania to będzie ci pewnie ciężko.

w związku z powyższym ja nie skupiam się na zrobieniu czegoś, żeby tylko pokazać sobie i innym, że zrobiłem appkę. staram się zebrać jak najwięcej wiedzy teoretycznej (niekoniecznie zapamiętywać na 100%), ale w przypadku gdy pojawi się jakiś problem - mogę wrócić do tego tematu, lekcji czy jakiegoś poradnika na YT i wówczas będzie mi o wiele łatwiej się z tym uporać.
hebato 2023-01-08 14:46:40 +1
#naukaswifta
Dzień 62/100 kursu 100 days of SwiftUI

Wstęp do nowej appki - Instafilter.
Dzisiaj teoria - dwa przykłady na użycie onChange() oraz confirmationDialog().

Wrzucę screeny dzisiejszych lekcji.
StrangeGem 2023-01-08 15:01:13 +1
@criticalkush90: Kablem podpiętym pod xcode zmieniasz target na simulator.
StrangeGem 2023-01-08 15:02:59 +1
@hebato: Dobra rada jak robisz previews to dodawaj hasztag if DEBUG i hasztag endif za preview bo to potem nie będzie istnieć w kodzie prod.
hebato 2023-01-07 13:02:16 +5
#naukaswifta

Hej, trochę mnie nie było. Mały update:

Dużo spraw nałożyło się na to, że w grudniu po prostu nie dałem rady poświęcić czasu na naukę.

Przede wszystkim żona jest w ciąży, będziemy mieli drugie dziecko (termin na lipiec). Początek drugiej ciąży, podobnie jak pierwszej przechodzi dość ciężko, tzn. bardzo źle się czuje, nie ma na nic siły. W związku z tym praktycznie cały dom i syn był na mojej głowie, ona prawie ciągle leży.
Ponadto:
-na początku grudnia syn był chory, nie chodził do przedszkola
-wyjechałem z teściem na pogrzeb jego wujka do Niemiec (4 dni wypadły)
-przed świętami miałem więcej pracy u siebie
-później były święta
-pomiędzy świętami a sylwestrem tak szybko leciał ten czas, ciągle coś robiłem, także nie miałem czasu na nic
-przed sylwestrem - znowu chory syn, do tego żona też miała temperaturę… trzymało ich do wczoraj - 4 stycznia…
-potem nie miałem motywacji żeby wrócić, ale już jestem zwarty i gotowy do dalszej nauki.

Jak widać powyżej - mając ponad 30 lat, rodzinę, dzieci to wszystko nie jest już takie proste, że odpalam komputer i mnie nie ma… Zawsze jest coś do zrobienia, a to przy domu, a to ktoś zachoruje, a to trzeba gdzieś wyjechać itd…
Teoretycznie miałbym czas na naukę późnymi wieczorami, ale po całym dniu pracy i bycia z 3 latkiem byłem taki wypompowany, że nie chciało mi się już robić cokolwiek. Święta też mnie trochę wybiły z rytmu.

Więc tagu nie porzucam, cisnę dalej z nauką.

Skończyłem na 60 dniu, było to podsumowanie poprzednich kilkunastu dni.
Wróciłem sobie szybko do tego, jak popatrzyłem to nie zapomniałem przez ten prawie miesiąc na czym to polega, więc mogę uznać że pierwsze 2 miesiące nauki zostały mi w głowie.

Dziś czas na:

Dzień 61/100 kursu 100 days of SwiftUI
Nazwany jest ”Time for Core Data”. Zadanie polega na przebudowaniu apki z poprzedniego dnia tak, żeby mogła pracować bez internetu (Core Data).

Trudne. Nawet autor napisał, że jest to trudne zadanie, nie dałbym rady sam, posiłkowałem się Solucją ze strony, czyli HWS+. Zrobiłem, starałem się jak najwięcej zapamiętać.

Od jutra czas na kilkanaście dni (62 do 76) nowej teorii + praktyki. Dobrze się złożyło, że właśnie skończyłem w tym miejscu, bo zaczynam coś nowego.

Jako kara za tak długą przerwę wymierzyłem sobie, że chcę (muszę!) przerobić cały materiał stąd:
https://www.youtube.com/@SwiftfulThinking

Gościu naprawdę mega fajnie to wszystko tłumaczy. Nie będę się na ten temat rozpisywał, robił relacji. Napiszę gdy skończę.

Kupiłem też jeden kurs na udemy, to jeszcze było na Black Friday, cena 35 złotych to jak za darmo. Wydawał mi się być fajny i świeży, póki co wrzucam tylko informacyjnie, raczej nie będę miał czasu do tego usiąść:
https://www.udemy.com/course/deep-dive-ios-16-swiftui-programming/

Także podsumowując: Witam ponownie na tagu i obserwujących przepraszam za brak info.

#naukaprogramowania #ios #swift
iquiet 2023-01-07 16:28:34 +0
@hebato: Czytając pierwsze części wpisu uśmiechałem się bo chyba za bardzo bierzesz do siebie wykop xd To jest tylko portal ze śmiesznymi obrazkami, tu nie musisz się spowiadać ile dni i z kim byłeś gdzieś ( ͡° ͜ʖ ͡°)
T.....k 2023-01-07 17:43:11 +0
Kupiłem też jeden kurs na udemy, to jeszcze było na Black Friday, cena 35 złotych to jak za darmo.

@hebato: Na udemy nie kupuje się bez promocji. Jak Ci się spieszy, a nie widzisz zniżek - możesz dodać do obserwowanych i magicznie się pojawią w kilka godzin albo spróbować wejść z incognito i innego IP, z telefonu na przykład.
hebato 2022-12-10 21:19:33 +6
#naukaswifta
Dzień 60/100 kursu 100 days of SwiftUI

W ramach dzisiejszego dnia zaprezentowano nam challenge polegający na stworzeniu appki FriendFace, w której na podstawie jsona z internetu(url) należy wykonać jakby bazę informacji o użytkownikach. Jest mi miło, bo całość zrobiłem sam, wyszło jak na screenach :) Nic wielkiego, zaledwie dwa ekrany, mógłbym jeszcze coś tam się pobawić, ale chyba najważniejsze było aby pokazać sobie i światu, że zdobyta wiedza w poprzednich 60 dniach wchodzi do głowy i jesteśmy w stanie zrobić to zadanie.


#naukaprogramowania #ios #swift
hebato 2022-12-10 21:23:16 +0
Symulator(1)
hebato 2022-12-09 21:28:15 +3
#naukaswifta
Dzień 59/100 kursu 100 days of SwiftUI
Dzisiaj challenge, 3 zadania do wykonania na projekcie z wczorajszego dnia. Mega trudne, praca z Core Data. Zrobiłem zgodnie z solucją z hackingwithswift i nie wiem co napisać więcej, po prostu nie byłbym tego w stanie zrobić sam. Jadę dalej, jutro znów challenge, tym razem taki większy, odnoszący się do poprzednich 3 projektów z kursu, napiszę coś więcej i wrzucę jakieś zdjęcie jak to wyszło.
KORraN 2022-12-18 12:48:03 +0
@hebato: Co tam słychać? Jak idzie?
hebato 2023-01-07 13:03:13 +0
@KORraN: wróciłem, dodałem nowy wpis - update. Dzięki że się mną interesowałeś :)
hebato 2022-12-08 11:10:48 +4
#naukaswifta
Dzień 58/100 kursu 100 days of SwiftUI

Wróciłem!
Wszystko się ułożyło, jesteśmy już zdrowi więc można wracać do nauki.
Powrót z kopyta, bo dziś była dalsza cześć przykładów do pracy z Core Data. Tłumaczone było NSPredicate, zmienianie fetch requests dynamicznie, oraz tworzenie relationships. Tym razem nie budujemy appki, to są tylko przykłady (teoria), więc nie ma nawet co wrzucać.
hebato 2022-12-03 21:29:31 +4
#naukaswifta

SZPITAL! informacyjnie: nic nie wrzucam od kilku dni, mam w domu szpital, wszyscy chorzy poza mną... Nie puściliśmy syna do przedszkola, przez co muszę poświęcić mu cały mój czas, a żona i teściowa chore. Dodatkowo na 3 tygodnie doszedł mi jeszcze jeden inny obowiązek, nie chcę mi się już na ten temat rozpisywać, no ale muszę to zrobić... Myślę, że w nowym tygodniu ruszę z dalszą nauką, ale póki co jestem zmuszony na chwilkę zawiesić działalność na tagu.
RamtamtamSi 2022-12-03 21:57:38 +1
Wszystkim szybkiego powrotu do zdrowia!
StrangeGem 2022-12-03 22:01:01 +1
@hebato: Miras zdrowia dla Ciebie i dla rodziny.
hebato 2022-11-27 10:43:24 +5
#naukaswifta
Dzień (55+56)/100 kursu 100 days of SwiftUI

Wczoraj nie zrobiłem wpisu, więc dziś podwójny za wczoraj i dziś.
Dzień 55:Dalsza praca przy aplikacji do oceniania książek. Stworzyliśmy listę książek, następnie dodaliśmy sortowanie(SortDescriptor) i możliwość usuwania poszczególnych pozycji.
Dzień 56:
Appka jest skończona, teraz jak zawsze czas na challenge.
Trzy zadania:
-nie pozwolić na dodanie książki z pustymi textfieldami, rozwiązane za pomocą
.disabled
-przy ocenie 1 zmienić tytuł na czerwony, rozwiązane za pomocą:
.foregroundColor(book.rating == 1 ? .red : .primary)
oraz
.opacity(book.rating == 1 ? 0.5 : 1)
-dodawać datę do każdej dodanej książki. Rozwiązane nowym Attribute w core data


#naukaprogramowania #ios #swift
hebato 2022-11-27 10:43:52 +0
Symulator 1
hebato 2022-11-27 10:44:08 +0
Symulator 2
hebato 2022-11-25 10:18:36 +4
#naukaswifta
Dzień 54/100 kursu 100 days of SwiftUI

Ciąg dalszy budowania appki, póki co wygląda jak na screenie. Można dodać książkę (Core Data), autora, opinię i ocenę 1-5 wyświetlaną jako emoji. Później wszystko jest wyświetlane jako lista (@FetchRequest).
StrangeGem 2022-11-25 10:33:16 +1
@hebato: Czemu CoreData a nie codable i trzymanie w UserDefultsach jak 90% apek?
StrangeGem 2022-11-25 10:58:06 +2
@joolekk: Ale mnie ciekawiło i się pytam. Cieszę się że się uczy boziu właśnie i chciałam uprościć jego proces naukowy.
hebato 2022-11-23 17:37:49 +2
#naukaswifta
Dzień 52/100 kursu 100 days of SwiftUI

Ostatni dzień pracy na tym projekcie, aplikacji Cupcake Corner.
Dzisiejszy dzień to challenge, do wykonania test A/B i trzy zadania:

`1.Our address fields are currently considered valid if they contain anything, even if it’s just only whitespace. Improve the validation to make sure a string of pure whitespace is invalid.
2.If our call to placeOrder() fails – for example if there is no internet connection – show an informative alert for the user. To test this, try commenting out the request.httpMethod = "POST" line in your code, which should force the request to fail.
3.For a more challenging task, see if you can convert our data model from a class to a struct, then create an ObservableObject class wrapper around it that gets passed around. This will result in your class having one @Published property, which is the data struct inside it, and should make supporting Codable on the struct much easier.`

Powiem szczerze - było ciężko. Musiałem sobie pomóc rozwiązaniami od HackingWithSwift+.
Rozwiązałem to, aczkolwiek sam na aktualnym poziomie mojej wiedzy bym tego nie zrobił. Troszkę poczytałem i jak widać:
Tutaj - reddit.com
nie jestem jedynym, który mierzy się z takimi problemami.

Nie poddaję się, cieszę się co udało mi się osiągnąć w te zaledwie 50 dni i jadę dalej z materiałem.

UPDATE do całości #naukaswifta - aktualnie oprócz 100 dniowego kursu przerabiam materiał stąd:
Swiftful Thinking na YouTube
Masa darmowego i konkretnego materiału, krok po kroku. Plan jest przerobić całość z tego kanału, ale już nie będę tutaj zdawać relacji z każdego dnia.


#naukaprogramowania #ios #swift
KORraN 2022-11-23 18:18:26 +0
@hebato: Brawo, super Ci idzie, szanuję za wytrwałość i trzymam kciuki. Jeżeli chciałbyś algorytmikę potrenować to tydzień startuje Advent of Code - https://adventofcode.com/2022/about
Kamishimi 2022-11-23 21:17:00 +0
@hebato: Trzymam kciuki
hebato 2022-11-21 20:57:57 +5
#naukaswifta
Dzień 50/100 kursu 100 days of SwiftUI

PÓŁMETEK !

Dziś skończyłem połowę kursu. Wiele mi brakuje, ale porównując do mojej wiedzy z dnia 1, to uważam że bardzo dużo się nauczyłem. Ciekawe jak będzie po dniu 100... Aktualnie najbardziej chcę się skupić na jak najlepszym operowaniu między Viewami, bo to teraz mi się najbardziej przydaje, a nie mam w tym dużej praktyki. Dzisiejsze lekcje właśnie na ten temat były. Aplikacja do zamawiania babeczek :)
Wrzucam screen z symulatora, więcej o appce jutro.