Passing Data in iOS: Delegates, Notifications, and Closures
Long time no see dear readers and Appcoda fans! It’s been a long time since my last post here at Appcoda, and I am really glad to be back! Today, I’m going to discuss about an important and definitely interesting...
Introduction to Flutter: Building iOS and Android Apps from a Single Codebase
Welcome to my first tutorial on Flutter. I have never written any post on cross-platform or hybrid app framework but Flutter has changed this mindset of mine. Previously, I have developed on React Native, Cordova, Phone Gap,...
Building a Trello-like iOS App with Drag & Drop API
Drag & Drop is the user interaction that works naturally when we want to build an app where user can move data around the screen. It’s being used heavily by apps like Trello, Jira, and many others to move data between boards....
Debugging Out of Memory Issues: Catching Layout Feedback Loop with the Runtime Magic
Let’s imagine this scenario: you’ve got a successful app with a great number of daily users and 100% crash-free rate. You are happy and your life is amazing. But at some point you start seeing negative reviews coming to the App...
Implementing a Heap Based Priority Queue Using Swift
There is a wealth of problems in computer science where using a priority queue as your underlying data structure can greatly improve the time complexity of your algorithm. One example is Dijkstra’s Shortest Path Algorithm, where...
Avoiding Massive View Controller using Containment & Child View Controller
View Controller is the component that provides basic building block that we use as a foundation to build application in iOS development. In Apple MVC world, it sits as a middle man between the View and Model, acting as an...
Building an Interactive Voice App Using Custom Siri Shortcuts in iOS 12
Siri Shortcut is a new API that Apple introduced in iOS 12 built on top of SiriKit framework. It provides ways for developer to provide custom shortcut to the activities that the user often used within the app. User invokes the...
Function Naming in Swift
In this article, we will face a question that we should always ask ourselves when writing a function: How should I name this function? Although this question looks simple, getting it answered properly determines a crucial aspect...
Advanced Unit Testing in Swift Using Swinject, Quick and Nimble
Do you want to build a car (Testable Architecture) that can run fast (less compile time), save petrol (repeated code) and can be easily learnt (readable) & driven (picked up) by any licensed driver? Then you have come to the...
How to Use Xcode Instrument to Optimize Your Swift Code
I still run across curmudgeons who flat out reject techniques like object-oriented programming (especially inheritance and polymorphism), protocols and protocol-oriented programming (especially composition), generics, and...