In our daily development, we all know that the execution of an application depends on some underlying basic libraries, such as UIKit, Foundation, etc. So...
The concept KVO is an objective-C implementation of the Observer Pattern. The observer object is notified when one of the properties of the observed object...
IOS UIWebView was phased out and WKWebView became mainstream. This article encapsulates the WKJSWebView(see section 3 for the code), modifying and adding it to the...
In the previous article, we explored properties, instance variables, object methods, and class methods. We can obtain the class_ structure from the bits member variable...
Visual burial point, also known as circle selection burial point, is a data burial point mechanism based on full burial point technology. Through full-burial technology,...
In iOS development, we call everything an object. What is the essence of an object? We often talk about memory allocation in project development. How...
The internal structure is as follows. Note that objc_class inherits from objc_Object, so there should be an ISA inside. Now let's see what bucket_t is....
Generics are commonly used in classes, structs, functions, and enumerations. Their introduction serves as a placeholder, where the type is not known until the function...
I created an instance method likeGirls in the FFPerson class, but it wasn't implemented. Then I initialized the FFPerson class in the main.m file and...
In a subclass, the subclass overrides the method of the superclass, and the superclass pointer points to the subclass. Polymorphism adds an extension to a...
In the previous article, we have analyzed the application loading process, which we are familiar with. We have clearly seen that the dyld library function...
Open the terminal CD to your local repository, create the.gitignore file with the.git layer (view hidden files), type "I", see this one below, go into...
What can be learned from this article about a simplified review of the objc_msgSend process Real machine Debugging (assembly analysis) Real machine Assembly Decomposition (diagram)...
Custom KVO, support multi-attribute listening, support automatic release. System KVO needs to write a lot of code, it needs to be manually released, and we...
The Dispatch Framework provides a set of interfaces for monitoring the activity of low-level system objects (File descriptors, Mach ports, signals, VFS Nodes, etc.), And...
@[toc] Block Outline Specification What are Blocks? In a nutshell, anonymous functions with automatic variables (local variables) do what their names imply: Block has no...
We introduced dyld in the iOS application loading process analysis, where the important thing dyld does during the loading process is to link to the...
Recently, I just saw the book "High performance iOS Application Development" and read the content of Dai Ming's "iOS Development Master class "(this is not...
When does the content method start to insert in this chapter? Three ways to initiate Runtime call the underlying objc_msgSend assembler source code analysis Look...
In the previous article iOS Class Loading Process Analysis (Part 2), we have discussed the class loading process, but today we will discuss the classification...