26. Sep 2023iOS

Náš iOS toolbox – sprístupnenie nášho code-base svetu

S rozšírením vývoja iOS aplikácií po celom svete sa programátori stále viac spoliehajú na knižnice, aby zvýšili svoju produktivitu a rozšírili funkcionalitu do svojich aplikácií. Z tohto dôvodu sme sa v GoodRequeste rozhodli zdieľať náš codebase so svetom prostredníctvom štyroch knižníc, ktoré nám uľahčujú prácu.

Andrej JaššoiOs Developer

GRProvider

Použitím GRTableViewProvider a GRCollectionViewProvider , sa zjednoduší práca s UITableView a UICollectionView.

Tieto triedy poskytujú sadu metód a väzieb, ktoré umožňujú jednoduchú implementáciu viacerých sekcií a položiek v štruktúrovanej a reaktívnej forme.

Jednoducho sa vytvorí štruktúra, ktorá spĺňa protokol Sectionable vo factory class, deklaruje sa tabuľka/zbierka a poskytnuté metódy sa použijú na konfiguráciu a naplnenie údajov.

iOS 3 Minúty čítania

Náš iOS toolbox - Práca s UITableView & UICollectionView vo Swifte

Marek Vrican31 Jul 2023

Good Networking

Vstavané možnosti siete v jazyku Swift môžu mať nevýhody, ako je nedostatok štandardizácie a flexibility.

Ale použitie balíka Swift GoodNetworking môže spraviť spracovanie sieťových požiadaviek efektívnejším. Prvotne sa definuje základná URL a koncový bod pre sieťovú požiadavku. Následne sa určí očakávaná odpoveď pomocou štruktúry. Ďalej sa vytvorí inštancia GRSession , ktorá bude spravovať sieťové požiadavky, pričom použije dva generické parametre: koncový bod a API server. Nakoniec sa vykoná sieťová požiadavka pomocou metódy session.request a použitím metód sink alebo assign z Combine sa zobrazia získané údaje.

iOS 6 Minút čítania

Náš iOS toolbox - Spracovanie sieťových požiadaviek vo Swifte

Marek Vrican20 Apr 2023

Good Reactor

Na použitie reaktívneho programovania v jazyku Swift sa môže využiť balík GoodReactor na správu komplexného a reaktívneho kódu. GoodReactor používa architektúru založenú na protokole a integrovanie s Combine, aby vytvoril reaktívny komponent, ktorý môže byť opätovne ľahko použitý v celej aplikácii. 

Pre vytvorenie reaktívneho zobrazenia, sa definuje trieda BaseViewController, ktorá berie generický typ T, ktorý by mal byť viewModel poskytujúci údaje a obchodnú logiku pre zobrazenie. Trieda viewModel by mala implementovať protokol GoodReactor a definovať štruktúru, ktorá reprezentuje aktuálny stav zobrazenia, výpočtový typ Action, ktorý reprezentuje akcie používateľa a výpočtový typ Mutation, ktorý reprezentuje zmeny stavu v reakcii na akcie používateľa. 

Trieda viewModel by mala tiež definovať metódy, ako sú navigate, mutate a reduce, na spracovanie navigácie, zmeny stavu a redukciu stavu. 

Nakoniec sa vytvorí trieda ViewController, ktorá použije triedu viewModel na zobrazenie a interakciu s poskytnutými údajmi.

iOS 4 Minúty čítania

Náš iOS toolbox – Ako vytvárame reaktívne aplikácie v Swifte?

Marek Vrican15 Jun 2023

Good Persistence

Použitím UserDefaults v jazyku Swift na ukladanie malého množstva dát, ako sú preferencie používateľa, nastavenia a stav aplikácie. Balík GoodPersistence zjednodušuje prácu s UserDefaults a Keychain v Swift. Použitím vlastnosti UserDefaultValue s obalom na ukladanie akéhokoľvek hodnoty typu Codable do UserDefaults.

Na sledovanie zmien pomocou Combine sa deklaruje vlastník pre premennú. Na bezpečné ukladanie citlivých údajov sa použije obal KeychainValue na ukladanie do Keychain.

Špecifikovaním parametra dostupnosti, sa určí, kedy sú uložené údaje prístupné. Obaly UserDefaultValuea KeychainValue ponúkajú aj praktickú funkciu na sledovanie zmien hodnôt pomocou Combine. Preskúmajte ich funkčnosť pomocou poskytnutého vzoru v balíku.

iOS 5 Minút čítania

Náš iOS toolbox - Ako ukladať hodnoty do UserDefaults a KeyChain vo Swifte

Marek Vrican20 Apr 2023
Andrej JaššoiOs Developer