Let's explore the implementation mechanism of Runtime from the following aspects. There are actually two versions of Runtime: "Modern" and "Legacy." We're using objective-C 2.0...
AssociationedObject is used mostly to extend member variables for a particular class in a Category, but also to dynamically create member variables for certain objects...
1. Objc_super and objc_msgSendSuper Let's start with two data structures, objc_super and objc_super2. Look at two more functions, objc_msgSendSuper() and objc_msgSendSuper2(). But we can infer...
One of the worst recommended books, this book summarizes and explores 52 little-known and overlooked features and pitfalls of Objective-C programming, from syntax, interface and...
Objective-c adds object-oriented features to C, and is its superset. Objective-c uses a dynamically bound message structure, which means that the object type is checked...
YYCache is a thread safe high-performance cache component open source by domestic developer Ibireme. The code style is concise and clear. It has 1600+ stars...
Many times we do not want the button to be repeatedly pressed, if to write Enabled slightly troublesome, here provides a control button click interval...
This "iOS Fish Weekly issue 18" brings the interview analysis is the variable capture mechanism of block. By understanding the variable capture mechanism of blocks,...
YYImage is a powerful image processing tool in YYKit framework, the author of ibireme, which includes the image codec and GIF playback and other functions
Why write 'objc_msgSend' in a assembly? Because assembly executes the entire process at a speed that is closer to machine language, faster, and safer, caching...
In the previous two articles, we looked at the overall process of class loading and classification loading, respectively. In fact, it explores a process from...
It has realized the hotel booking function similar to Elong App, including hotel search, featured hotel recommendation, special hotel recommendation and other functions. It can...
Through the previous three articles, we have understood the loading process of the program, the interworking relationship between dyld and _objc_init, the execution of load_images,...