Comparison of RunLoop and other operating systems
RunLoop is a core concept in iOS and macOS development. It is used to manage event loops within threads to ensure that threads are busy when there is work and…
RunLoop is a core concept in iOS and macOS development. It is used to manage event loops within threads to ensure that threads are busy when there is work and…
Background: When checking the App startup time in the background, some can reach 2-15 seconds. Party A’s father in the Middle East couldn’t stand it and decided to take time…
Declarative programming is a programming paradigm that emphasizes describing the logic and rules of a problem rather than specifying specific steps to solve the problem. In declarative programming, we focus…
Regular expression basics If you haven’t heard of regular expressions (regex for short) before, it might be worth covering the basics before continuing with this tutorial. Luckily, we’ve got you…
stringIt is one of the most basic data types in all programming languages. Whether used for console applications, network services, GUI-based applications, or game development, it is an important part…
frame analysis The principle of anti-debugging will not be described in detail. We will mainly analyze the specific implementation of PASS. This PASS is designed to increase the debugging resistance…
According to Apple’s documentationSpacer : A flexible space that can expand along the main axis of the stck layout it contains, or in both axes if it is not contained…
Manual burying, automatic burying, visual burying Manual burying, automatic burying and visual burying are commonly used data collection methods in iOS applications. They each have their own characteristics and applicable…
Preface Recently, I started to officially use SwiftUI to do projects, but I discovered a big problem, that is, many APIs commonly used in UIKit require very high versions to…
Introduction SwiftData is a new feature launched by Apple for persistent data storage. It allows us to create custom objects, define how they are linked together, retrieve them by filtering…