Swift – Protocol Oriented Programming – Byte Implementation (using Sequence and Generics)

I just uploaded a video on YouTube that teaches protocol oriented programming. You can check it out here:


Conforming to Sequence Protocol in Swift 4 to Create a Byte Data Structure

I just uploaded a video on YouTube that demonstrates how you can create a data structure, called Byte, that can hold 8 bits of data, from scratch, using Sequence. Happy watching!

Swift Weekly – Issue 07 – The Swift Runtime (Part 5) – Operators

I thought I’d write about operators a bit in this issue. I don’t like to teach how operators work, but rather show you some cool things that we can do with operators. but then again, many websites do that already. you can just search online and find hundreds, if not thousands of blogs/websites that can teach you how to use operators and how to create your own in Swift. so how can i be different and offer something else? well, we will talk about operators in this issue and how to write your own, but, i will also show you how custom operators are compiled by the Swift compiler.

Continue reading this article on GitHub by clicking here.

Swift Weekly – Issue 04 – The Swift Runtime (Part 3) – Operators

I have always been interested in finding out how different compilers work with basic operators such as +, -, % and so on. This week on the train I was thinking that it would be nice if somebody could explore how Swift deals with operators so, long story short, I decided to do it myself.

In this edition of Swift Weekly, I will show you how the Swift compiler works deals with (system and your own) operators and how to use operators to ensure you get the maximum performance.

Note: in this edition of Swift Weekly, I’m going to change things a little bit and instead of building for the debug configuration, I am going to build for Release to ensure that the assembly code that we are going to analyze is as optimized as what you will get when you release the app for the App Store. Optimization is hence enabled and the assembly output is long. That means setting the Optimization Level in your build settings to Fastest, Smallest [-Os] to ensure you get the export GCC_OPTIMIZATION_LEVEL=s export when you build your project.

Note: to ensure that the assembly code which we will look at is clean and nice without too much unnecessary code, I will remove bits and pieces of it but will keep all the assembly code that is relevant.

Continue reading this article on Swift Weekly’s home page here.

Swift Weekly – Issue 03 – The Swift Runtime (Part 2) – Enumerations

This is the second article in the Swift Runtime series of the Swift Weekly. In this article, we will dig deeper into the Swift Runtime and how the compiler deals with producing code for enumerations. Saturday morning writings are always fun! Let’s get this show started.

If you are an Objective-C or Swift programmer and have not done any Assembly programming or are simply not concerned with the low-level details of this article, jump right into the Conclusion section at the end to get the juice of this article.

Continue reading this Swift Weekly issue on Github.