AppCoda Weekly - Issue #19

First, apologize for the delay of this issue. I took a week off,  travelled to Australia and am just
AppCoda Weekly - Issue #19
By AppCoda • Issue #19
First, apologize for the delay of this issue. I took a week off,  travelled to Australia and am just back to work. Next week, this newsletter will still be delivered to your inbox on Friday.
Protocol is one of the very powerful features of Swift. We have written a beginner guide to discuss what it is and how you can make use of protocols and protocol extensions to write a better app. If you’re a beginner of Swift and have some spare this weekend, take a look at the guide.
As always, we collected some great tutorials and libraries this week. Don’t forget to check them out too!
Regards,
Simon
Founder of AppCoda

Tutorials
A Beginner's Guide to Protocols and Protocol Extensions in Swift - AppCoda
Protocol is a very powerful feature of the Swift programming language. In this tutorial, written for beginners, we’re going to talk about what protocols are and how you can use them in conjunction with protocol oriented programming.
tvOS Games, Part 1: Using the Game Controller Framework
A nice post about Apple’s Game Controller Framework on tvOS and iOS. Learn about the interaction model of tvOS and the applicability of game controllers.
A short post suggesting some alternative ways of using the NOT operator “!”, thus making this hard to read operator more readable in the code.
All about Concurrency in Swift - Part 1: The Present
Covering everything from Foundation locks, threads and timers to the language guarantees and the recently improved Grand Central Dispatch and Operation Queues, this article presents a good summary of what is possible today from the point of view of concurrency using the external frameworks that are available from Swift.
How To Build a Compass App in Swift
If you are already familiar with the Core Location Framework, learn how to build a compass based app in iOS.
Preserves Superview Layout Margins
Get to know about the purpose of the “Preserve Superview Margins” checkbox in Interface Builder, when you should use it and why does it not seem to do anything most of the times.
Swift Arrays Holding Elements With Weak References - Marco Santarossa
In iOS development there are moments where you ask yourself: “To weak, or not to weak, that is the question”. Let’s see how “to weak” with the arrays.
Avoiding Massive View Controllers by Refactoring
A very simple tutorial that presents some suggestions that will help avoid Massive View Controllers in projects by making some refactoring following the MVVM design pattern, the single responsibility principle, and protocol-oriented programming.
When it comes to formatting of code, it really is a personal choice based on some aesthetic. SwiftLint is a very low impact way of enforcing a coding style guide. It has different rules and enforcing those rules can produce a better code base.
Ads / Sponsored
Beginning iOS 10 Programming with Swift 3
Learn how to build an iOS app from scratch to App Store. Our books come with one year free update. You will receive a free book when iOS 11 and Xcode 9 are released later this year.
Intermediate iOS 10 Programming with Swift | Learn by Doing
It’s not just about the theory or syntax of Swift. This intermediate book (over 600 pages) will help you learn the new APIs introduced in iOS 8/9/10 in a practical way. It is regularly updated. The book is now updated for Xcode 8.3 and Swift 3.1.
UI/UX
Both modal and nonmodal dialogs are useful and request or encourage user participation. When it comes to deciding between these two types of dialogs, consider the user context and the workflow.
A Little Time Management Can Make You a Better Designer
As a UX designer, it is important to constantly learn and build on your skills with intense timelines and a limited budget to work with. However, good time management tips alleviate stress while increasing your experience, work quality and focus.
Libraries
GitHub - SpreadsheetView
Full configurable spreadsheet view user interfaces for iOS applications. With this framework, you can easily create complex layouts like schedule, gantt chart or timetable as if you are using Excel.
GitHub - YMCalendar
YMCalendar is a library of monthly event calendar for iOS written in Swift 3.
Macaw iOS Library: Morphing Animations – Exyte – Medium
A very nice Swift library which makes vector graphics drawing and animation easy and enjoyable.
GitHub - XcodeColorSense2
This is an Xcode source editor extension that shows hex color info.
Videos
Realm: Create reactive mobile apps in a fraction of the time
MVVM, MVC, VIPER… so many acronyms, which architecture is the best? Let’s talk about the things that matter for good app architecture for iOS.
News
Apple updates its analytics service with new metrics showing how apps get discovered  |  TechCrunch
Apple updated its App Analytics service for mobile app developers on iTunes Connect, which will now offer more detail on how users found an app – whether through browsing or searching the App Store, or if they were referred by way of another app or a website.
Did you enjoy this issue?
AppCoda
By AppCoda
Must-read Swift & iOS programming articles for your weekend. Deliver every Friday!
Carefully curated by AppCoda with Revue. If you were forwarded this newsletter and you like it, you can subscribe here. If you don't want these updates anymore, please unsubscribe here.