[NSArray containsObject:] vs [NSSet containsObject:]

Dzisiejszy post nie jest wyłącznie związany z Objective-C i iOS. Chcę jedynie zwrócić uwagę na pewien drobny szczegół w pisaniu aplikacji. Szczegół, który łatwo przeoczyć i zrobić coś bardzo nieefektywnie.

Sam miałem możliwość poprawienia czegoś takiego w jednym z projektów jakiś czas temu.  Dziś przyszła pora na podzielenie się tym i zwrócenie uwagi na myślenie. To ważne.

Załóżmy, że mamy do przeszukania i do znalezienia 1 unikalny rekord ze zbioru około 70 tysięcy 25 znakowych łańcuchów znaków.  Jak to zrobić? Opcji jest sporo. Dziś pokażę różnicę w 2 różnych podejściach używając gotowych metod containsObject z kolekcji NSArray i NSSet. Kolekcje bardzo często używane w wielu aplikacjach mobilnych.

Czytaj dalej [NSArray containsObject:] vs [NSSet containsObject:]

Jak przyśpieszyć CoreData?

Ten post to notatka, aby nie zgubić przydatnego linka do listy 8 rzeczy, których weryfikacja pozwoli nam na upewnienie się, że aplikacja mobilna wykorzystuje CoreData we w miarę optymalny sposób:

http://agilemd.ghost.io/2015/02/02/optimizing-coredata-fetches/

Polecam przeczytać zalinkowany artykuł.

EDIT:

Polecam też zapoznanie się z dokumentacją od Apple, nt wydaności CoreData. Dosyć dobrze opisują pewne zagadnienia i sztuczki jakie można zrobić, żeby coś przyśpieszyć pod tym linkiem.

Wzorce projektowe w Objective-C i Swift.

Ostatnio zastanawiałem się, co dobrego mógłbym napisać, co warte byłoby wrzucenia na tego bloga, co byłoby związane za aplikacjami mobilnymi (najchętniej platformą iOS), a jednocześnie, co dałoby komuś korzyść i ułatwiło naukę lub kodowanie w pracy. Temat wzorców projektowych chodził już za mną jakiś czas. Jednak myślę, że nie do końca najlepszym pomysłem jest tworzyć kolejne teksty na tematy, które wyczerpano już dawno temu bez pokrycia ich w praktyce. Kompletnego materiału po polsku, na temat wzorców obiektowych stworzonych w Objective-C i Swift nie znalazłem. Dlatego zapraszam na cykl artykułów, w którym przedstawię implementację wzorców projektowych w 2 językach: Objective-C oraz Swift.

Startując od przyszłego tygodnia, postaram się, aby posty z wzorcami będą pojawiać się cyklicznie co tydzień lub co dwa tygodnie. Jako podstawę, wykorzystam spis wzorców z Wikipedii. Dla każdego wzorca postaram się przygotować przykład kodu źródłowego, projekt Xcode do ściągnięcia oraz krótkie omówienie. Postaram się nie odkrywać koła na nowo i nie poświęcać opisowi wzorca zbyt wiele miejsca. Przynajmniej takie założenia mam do tej serii postów. Moim celem nie jest w tej serii dogłębne omówienie wzorców, ich poprawne zastosowanie czy też przypadki użycia. Chciałbym jedynie dostarczyć użytecznych przykładów implementacji wzorców projektowych w językach Swift i Objective-C.

Wszystkie posty opisujące wzorce trafią ostatecznie na tę stronę Wzorce projektowe w Objective-C i Swift – Kompendium , która zbierze i pogrupuje je w przejrzysty sposób.

Mam nadzieję, że podany materiał przyda Cię czegoś nauczy lub usystematyzuje to co już wiesz. Jeżeli wiesz więcej niż podałem w postach, to zapraszam do komentowania i rozszerzania podanych informacji. Zapraszam za tydzień na pierwszy post z tej serii.

Życzę udanych projektów i dobrego kodu!

Tworzenie Aplikacji Mobilnych – 3 możliwości: HTML5, natywna, czy hybryda?

Tworząc aplikację mobilną musimy odpowiedzieć na wiele pytań: co ma robić?, jak ma wyglądać?, jak użytkownik ma się w niej poruszać, itp. itd.? Wśród tych pytań są również te związane z technologią. Teoretycznie wszystko niby jest proste Android to Java, iOS to Objective-C. Niestety kilka lat temu powstała idea aplikacji mobilnych opartych o HTML5. Trzeba przyznać, że trochę ta idea namieszała w porządku i nie da się koło tej opcji przejść obojętnie. Powiem więcej, trzeba przeanalizować i przekalkulować, czy jest sens wykorzystać to, co daje nam ta możliwość.

Aplikacja Mobilna: HTML5 czy natywna?

Czytaj dalej Tworzenie Aplikacji Mobilnych — 3 możliwości: HTML5, natywna, czy hybryda?

Wunderlist – Twoja lista TODO pod kontrolą

Istnieje wiele aplikacji wspomagających zarządzanie listami TODO (i nie tylko). Mała część z nich jest dobra, a jeszcze mniejsza jest dobra i darmowa. Ja polecam Wam platformę Wunderlist.

Wunderlist

Czytaj dalej Wunderlist — Twoja lista TODO pod kontrolą

Core-Plot – klikalne w punkty na wykresie – wazne ustawienie

Jeśli przyjdzie Wam kiedyś użyć dobrej biblioteki Core-Plot i będziecie implementowac funkcjonalność klikania na punkty wykresu, to zapoznajcie się z pewnym ważnym parametrem służących do polepszenia UX.

20130105-235002.jpg

Czytaj dalej Core-Plot — klikalne w punkty na wykresie — wazne ustawienie

HTML5 + JQueryMobile = Mobile Application

Przed twórcą aplikacji mobilnej stawia się znacznie więcej barier niż przed developerem aplikacji desktopowej. Heterogeniczność platform sprzętowych i software’owych daję się tutaj jeszcze bardziej we znaki niż w innych przypadkach. Dzisiaj kilka słów o nieco odmiennym podejściu do tworzenia aplikacji mobilnych.

JQueryMobile

Czytaj dalej HTML5 + JQueryMobile = Mobile Application