-
BASICS
- You should start learning the language with a close look at the official
documentation from ApplePay particular attention to the following:
- Memory management and operation;
- Classes and structures (specifics of creation and use);
- Optionals, their use, and objectives;
- Types of collections, what is the difference and features of use;
- Functions and closures.
Other specifics of Swift are no less important for full-fledged iOS
programming and understanding them will be a great advantage for
the training.
- Be sure to secure the acquired knowledge through practice and
experiments in Swift Playgrounds
- You should start learning the language with a close look at the official
-
BEST PRACTICES AND BASICS
- Novice developers should be familiar with all the basic principles of OOP.
- Understanding as many design patterns as possible will be a huge plus.
- Skills in SOLID will also be a plus.
- In his work, every developer may face multithreading and competitive execution. Therefore, knowing the basic concepts from this area, which are described in the article “Multithreading and Concurrency Fundamentals”, will be an indicator of technical literacy.
Think beyond the references provided and look for different sources to
understand the approaches from different angles and on different
examples. Search or invent tasks in any subject area and try to solve
them using the principles you have learned.
-
UI COMPONENTS
- It is crucial to figure out the functioning of any UI component, such as
UITableView. There are many tutorials about them, such as this one: “Adding
a UITableView programmatically”Moreover, be sure to understand:
- How to draw table cells;
- How they are reused;
- What mandatory methods should be implemented;
- What are the convenience and benefits of such a mechanism;
- What is the lifecycle of the program, and what state it passes
from; - What is the lifecycle of UIViewController;
- What is the difference between UIWindow and UIView.
You may find it helpful to try everything with your small test
application to be able to show the code and tell why certain solutions
were used.
- It is crucial to figure out the functioning of any UI component, such as