11.04.2016 #iosowo <- tag do obserwowania

Kolejna paczka linków dla ciekawskich z działu #programowanie #ios #osx #swift #objectivec i generalnie #apple

https://cocoapods.org/
Największa wyszkiwarka podsów do projektu, bardzo intuicyjna w użyciu. Pozwala na łatwe dodawanie gotowych elementów do projektu.

https://realm.io/news/gotocph-marin-todorov-auto-layout-animations-ios/
Obszerny wykład oraz artykuł o łączeniu animacji i auto layoutu.

http://cognitivedesign.com/papers/understanding-delegation-in-ios.html
Bardzo obszerny artykuł o istocie i działaniu delegacji w systemie iOS. Coś dla osób nie pewnych swojej wiedzy w tym temacie
Walkę z prokrastynacją czas zacząć. Dla mirków spod tagu #programowanie i #ios #osx dzienna dawka z materiałów do #swift i #objectivec

10.04.2016
Na początek coś dla nowicjuszy (choć nie tylko) - materiały do nauki:

Ogromny zbiór książek, artykułów, tutoriali, pluginów i bibliotek:
https://github.com/vsouza/awesome-ios

Strony:
https://www.objc.io/
https://teamtreehouse.com/
http://www.raywenderlich.com/
http://cognitivedesign.com/index.html
http://nshipster.com/

Dokumentacja Appla jest na prawdę solidna:
https://developer.apple.com/library/ios/navigation/

Polecam na początek też WWDC od 2008 w górę:
https://developer.apple.com/videos/

Z książek:
https://www.bignerdranch.com/
http://shop.oreilly.com/product/0636920044352.do

Z kursów
Jestem zielony w objective-c ale zostałem zmuszony do napisania prostego liba, który zwróci mi zdjęcia i filmy z mojej biblioteki na telefonie. Napotkałem na pewien problem podczas generowania ścieżki do pliku. Dla zdjęć wszystko jest ok, ale dla plików video nie do końca. Robie to w prymitywny sposób

NSString *filename = [asset.localIdentifier substringWithRange:NSMakeRange(0, 36)];
NSString *url = [NSString stringWithFormat:@"assets-library://asset/asset.MOV?id=%@&ext=MOV", filename];

Chodzi o to, że generuje mi ścieżkę do pliku, ale po odczytaniu
Czołem mirki!

Moja super-fajna praca inżynierska w Swifcie posuwa się do przodu - skończyłem pisać kod! Przedstawiam Wam mój mały pakiecik do komunikacji z API RESTowymi: iModel + iService + iPromise.

Głównym założeniem była minimalna ilość kodu potrzebna do komunikacji z API, dlatego cały pakiet posiada wiele domyślnych ustawień, które sprawiają, że podstawowe działanie out-of-the-box wymaga minimalnej ilości kodu. Oczywiście, jeśli ktoś ma fetysz konfiguracji, wszystko można rekonfigurować na różne sposoby :)
@dzana: Jasne, zgodzę się, że takie komentarze nic nie wyjaśniają, a tylko nabijają objętość plikom źródłowym. Zwróć uwagę, że komentarze pełnią też rolę dokumentacji (swiftdoc), która z nich jest generowana.

Z drugiej strony można się zastanawiać nad sensem pisania w dokumentacji, że enum ValidationState reprezentuje stan walidacji obiektu...

Przy kolejnych releasach poprawię jakość komentarzy, tzn. zamiast się powtarzać napiszę coś więcej.
@FREEQ: Wg mnie jest sensowna - będziesz w języku od jego początków. Apple mocno pcha Swifta jako następcę Obj-C. Na dobrą sprawę, późniejsza nauka Objecitve-C powinna być łatwiejsza, bo będziesz musiał ogarnąć głównie składnię, bo iOS SDK będziesz mieć już obcykane.
Czołem Mirki!

W ramach ciężkiej pracy nad inżynierką zaimplementowałem ostatnio javasriptowe Promise'y w Swifcie 2.0. Jest to część większego liba do komunikacji z RESTowymi API, którą postanowiłem wydzielić jako osobny moduł i udostępnić jako CocoaPod :)

Z chęcią poczytam Wasze opinie. Poniżej link do githuba, więcej informacji znajdziecie w README.md

https://github.com/theddnc/iPromise

@ddnc: bo powinno sie unikac operatora ! za wszelka cene. a jak masz wiele zagniezdzen w optionalu to mozesz np zrobic rekurencyjne przejscie po optionalu az dopoki zwroci nila/wartosc.