Introduction to MVVM: Refactoring a MVC App Using the MVVM Design Pattern
Design patterns are very important tools for iOS developers to keep in their software engineering arsenals. These patterns, along with several other best practices I’ll mention below, help developers to create reliable and...
Introduction to HealthKit with Core Bluetooth
In my last Core Bluetooth tutorial, I discussed the technology, applications, and benefits of Apple’s Core Bluetooth framework. I showed you how to build an app that wirelessly connected to a Bluetooth® heart rate...
Working with Core Bluetooth in iOS 11
As iOS developers, we’re very aware that humans love connectivity. Obviously, we love to communicate with each other using wireless devices. More recently, we’ve come expect that we can communicate with what once were...
Protocol Oriented Programming in Swift: Is it better than Object Oriented Programming?
We’re going to talk in-depth about protocol-oriented programming (POP) using Swift 4 in this article. This post is the second and final article in a two part series. If you haven’t read the introductory article,...
Protocol Oriented Programming in Swift: An Introduction
The greatest enemy of software developers is complexity, so when I hear about new technologies promising to help me manage chaos, I listen. One of the “hot” methodologies generating much attention recently (at least...
Understanding Delegates and Delegation in Swift 4
I’m going to talk about “delegates” and “delegation.” I’ll lead you through a simple example of implementing the delegation design pattern in Swift 4, with full source code. My intent here is...
Swift 4 Generics: How to Apply Them in Your Code and iOS Apps
Question 1: Can I write one Swift function that can find the index/position of any specific instance of any type stored in any array that stores objects of that type? Question 2: Can I write one Swift function that can determine...