This diagram illustrates the roadmap for becoming an iOS developer. I updated it to reflect recent changes in 2021. I have tried to collect the most important technical skills that a progressing iOS developer can learn, in a logical order, to succeed more and more.
Have you ever tried to do first baseline alignment using auto layout or stack view but been disappointed with the result? If yes, this post… Read More »Auto Layout Baseline Alignment, Once For Ever
Flow, a simple pattern to organize navigation and inter-module communication in iOS applications.
Xcode template is an ability that allows developers to create projects and files with predefined files and structures automatically. Practically we can also define custom templates to reduce boring repetitive tasks but Apple explains almost nothing about it. Maybe they have not decided to release it publicly yet but I found it very useful in daily routines. So the following article is my findings based on my and the other’s trial and errors. For sure, these are not complete and you can help the community to make it more complete until Apple reveals it officially.
I prefer using Router for navigation purposes rather than Coordinator pattern. Here is why and how.
In Xcode, we can define frameworks, static and dynamic libraries and bundles to modularize our codes and resources. Unfortunately it is somewhat vague in Apple documentations. So let’s look at their differences and purposes in a simple word.
In the previous post I talked about why we should use object oriented for PLC programming instead of the solely structured programming model. In this post I will explain how to do it to achieve the best result.
Around 10 years ago object oriented programming feature added to the standard IEC 61131-3 programming languages for industrial automation controllers. But you will find very few PLC producers to support OOP. In this post I want to analyze what benefits OOP can provide for me in details and answer this question that is it worth to challenge with PLC object oriented programming complexities or not?
You may have asked yourself “why either the conforming types must define initializers of protocols as ‘required’ or they must be final”.
We cannot define designated initializers in extensions. But why is that? In this post I am going to show you an example of the reason of that.
In Swift, generic protocols can only be used as a generic constraint. But why is that? Why we can’t use them as normal protocols?