22/02/2025
Binary Frameworks in Xcode In the context of Xcode (Apple’s IDE for macOS and iOS development), a binary framework typically refers to a precompiled, reusable package of code that includes compiled binary files (machine...
22/02/2025
Static vs Binary Framework in Xcode Let’s dive into the key differences between static frameworks and dynamic frameworks in iOS, explore when to use each, and then tackle the curveball about performance trade offs. This...
21/02/2025
SOLID Principles applied in Swift programming Let’s explore how to apply the SOLID principles of Object Oriented Programming (OOP) when designing a Swift SDK for an iOS app, specifically one for Oracle to manage customer...
15/02/2025
Let's talk about Swift compiler. what is swift runtime? What compiler does swift uses? Can you draw a flow diagram of how a typical swift code like if (true) { print("hello, world!") } goes through various stages of comp...
17/03/2020
The wikipedia definition of a software design pattern is A reusable solution to a commonly occuring problem in the context of software design. Gang of four book in 1994 formalised a number of design patterns. Here we are...
12/03/2020
When someone says something is dynamic, it usually means things could change. Dynamic array, meaning the content of the array could change, or a dynamic system could mean a system that is robust and can adapt to differen...
26/03/2019
Race condition happens when 2 or more threads access the shared data at the same time and change its value at the same time resulting in unexpected state. A simple example is the typical ATM withdraw problem. ATM withdra...
26/03/2019
Deadlock is a situation when two or more threads are waiting on each other to be completed causing both to be locked and not able to continue. A practical example of a deadlock is ! Let's see an example in swift. here, t...
19/03/2019
It's been a while I've updated my posts. Here are some new tips that makes coding with swift cool. @autoclosure @autoclosure attribute defines an argument that automatically gets wrapped in a closure. It's used to defer...
04/12/2016
It's a common requirement to tweak different configurations of the app for debug purposes. The general way of doing it is using Settings.bundle where the Settings are located inside Setting of the iPhone. It has a few dr...
20/11/2016
Property List is a convenient and flexible format for saving data. It was originally defined by apple, to use in iOS devices and later extended to various apps. Plist internally is actually an XML file and can easily be...
25/01/2016
Since a complex number is comprised of a real and imaginary component, two complex numbers are equal if and only if their respective real and imaginary components are equal.
24/01/2016
](https://travis ci.org/freesuraj/TLDR) ](http://twitter.com/iosCook) ][href2] TL;DR (iOS Version) [TL;DR][href1] is a open source project which maintains a list of man pages. This project is the iOS Client of that.
24/01/2016
Swift protocol is very interesting yet very weird. Sometimes it behaves very strangely. {% highlight swift %} import Foundation protocol Command {} struct TLDRCommand: Command {} // Works func getOk() [Command] { return...
24/01/2016
playground A command line application to quickly create and launch a Xcode playground. [![NPM version][npm image]][npm url] ! ](https://github.com/freesuraj/playground/blob/master/LICENSE.md) ](https://david dm.org/frees...