This is a demo that shows how Augmented Reality can be used to build impressive applications that mix 3D models with real objects and surfaces and allow interaction between both of them.Technologies used: • iOS • Swift • ARKit + SceneKit https://youtu.be/QgnLx1lQdc8
MVVM vs MVP vs MVC in iOS from a different perspective (probability of change)
Usually we compare different architecture patterns from perspective of code style, file hierarchy, data flow, performance, memory allocation, etc. But we shouldn't ignore a very important side of software development which is 'change'. So, I'm sharing my thought about how to choose a pattern which serves our needs regarding the changes that we face while... Continue Reading →
Queue in Swift
Queue is one of the simplest and most popular data structures. Below is an implementation for Queue in Swift 5. It's written as a struct with a generic type to allow any instance of any type to be stored. An Array is used as a back store for queue elements. Swift Code struct Queue<T> {... Continue Reading →
Stack in Swift
Stack is one of the simplest and most popular data structures. Below is an implementation for Stack in Swift 5. It's written as a struct with a generic type to allow any instance of any type to be stored. An Array is used as a back store for stack elements. Swift Code struct Stack<T> {... Continue Reading →
Scrum in brief
Scrum is a widely used framework for agile work environments. It helps software organizations to abide agile values, and adhere to agile principles. Scrum has 3 main pillars: TransparencyInspectionAdaptation Scrum Team roles: Scrum Master (everything is going well?)Product Owner (what work to do?)Development Team (how to do the work?) Scrum Events: The Sprint (time-boxed to... Continue Reading →
The relation between JetBreans, IntelliJ, IntelliJ IDEA, Java, Kotlin, Google, and Android
If you're wondering what are these terms? Or what is the relation between all of them? Here's the answer.. JetBreans, IntelliJ, and IntelliJ IDEA JetBreans is a Czech company specialized in software development, founded in August 2000. In 2000 JetBreans was named IntelliJ (stands for "Intelligent Java"). In January 2001 IntelliJ released their first product... Continue Reading →
Get how much time ago – using RelativeDateTimeFormatter in Swift 5
In iOS, if you want to get relative time string from a date in the past like "Yesterday", "3 days ago", "1 minute ago", etc. you can use RelativeDateTimeFormatter in Swift 5. It gives you a localized string formatted based on some properties you set. Example: This is an extension to Date class. extension Date... Continue Reading →
NSDataDetector in Swift 5: Detect if a string is a link, phone number, date, or address
Sometimes we need to check if a string represents a link to web page, a phone number, a calendar date, an address, or another type like transit information. NSDataDetector can easily do that, in addition to many other things like checking spelling mistakes in a sentence and correcting those mistakes. Example This is an extension... Continue Reading →
Debug on iPhone device without USB cable or shared WiFi network
One day, I couldn't connect my iPhone to the MacBook Pro to debug my app from Xcode. I tried reseting SMC of USB ports, but didn't work. Finally I discovered it was an issue in the Type-C converter that makes the connection unstable. I tried to connect Xcode to my iPhone via network, but unfortunately... Continue Reading →
Facade vs. Adapter vs. Decorator design pattern
All are structural design patterns. Structural design patterns are good ways to define shape or structure of your code, like how your class internally structured to satisfy a need or solve a problem. In contrast to Creational patterns that give ideas about how to instantiate objects of a class, and Behavioral patterns that show possible... Continue Reading →
