About This Book: Buy Ebook On Gumroad
About This Book: Buy Ebook On Gumroad
Content
Each chapter starts with a questions overview that allows you to check your knowledge without
seeing the answers. All questions are numerated so you can quickly nd the answer when needed.
fi
The following topics are covered in this book:
Swift
Being the main programming language for the iOS platform, a deep knowledge in Swift is expected
from an iOS developer. This chapter provides questions and answers on Swift and general
programming language concepts.
SwiftUI
SwiftUI is Apple's main framework for building user interfaces for iOS. This chapter provides
questions and answers on the main aspects of SwiftUI.
Xcode
Being the main iOS development tool, a con dent usage of Xcode is expected from an iOS
developer. This chapter provides questions and answers on working and debugging with Xcode.
Combine
The Combine framework is Apple's native way to write functional reactive code in Swift. This
chapter provides questions and answers on Combine and on functional reactive programming
concepts in general.
Server Communication
Server communication is part of almost every iOS application. This chapter provides questions and
answers on general computer networking concepts and on speci c iOS networking topics.
Concurrency
This chapter focuses on Swift's concurrency model with async/await. It also provides questions and
answers on more low-level technologies like Grand Central Dispatch and Operations. Since they
were used in iOS applications before async/await, knowledge around these technologies may be
required for an iOS position.
Persisting Data
Persisting pieces of data is required in many applications. Apple offers solutions to store data for
different scenarios. This chapter contains questions and answers on persistence technologies and
frameworks such as File System, UserDefaults, SwiftData and Core Data.
Security
Many applications need to manage some kind of sensitive user data. To ensure a high level of
security Apple provides different technologies to be used by developers. This chapter provides
questions and answers on speci c security-related iOS technologies such as keychain or shared web
credentials, as well as general cryptography concepts.
Automated Testing
fi
fi
fi
Testing is an important part in every software development process. Apple offers tools to write unit,
UI and performance tests for iOS applications. This chapter provides questions and answers on
general testing concepts and speci c iOS testing tools.
Architectural principles and design patterns are the foundation of robust, maintainable, and scalable
iOS applications. This chapter explores key architectural concepts and widely used design patterns
in iOS development, providing practical examples and insights into their strengths and weaknesses.
Machine Learning
Machine learning becomes an increasingly important part of software development and engineering
jobs. Machine learning techniques are used to build models that can learn patterns in data and make
predictions or decisions without being explicitly programmed to do so. These models are used in a
variety of applications, including image and speech recognition, natural language processing and
recommendation systems. This chapter provides questions and answers on general machine learning
concepts and on how to integrate machine learning into an iOS application.
With SwiftUI pushing UIKit into the background since 2019, UIKit may still be part of existing iOS
applications. A deep knowledge of UIKit may be required for an iOS position. This chapter
provides questions and answers around key aspects of UIKit.
Objective-C is becoming more and more obsolete after Swift was released in 2014. However, with
existing apps written in Objective-C still out there, knowledge on Objective-C may be required for
an iOS position. This chapter provides questions and answers on Objective-C basics and the
interoperability between Swift and Objective-C.
fi