Start today to study Yycategories's foundation extension class.
It contains the author's extensions to the 14 foundation frameworks. I found a little bit of knowledge before I studied each extension class in detail.
Ns_assume_nonnull_begin and Ns_assume_nonnull_end.
Two macros are included in the middle of the property, parameter value, return value, default is the nonnull
type.
If you want a property, the parameter value or the return value is an optional type, it is individually indicated before the property, the parameter value, or the return value nullable
.
The following is the beginning of the function of each extension class, the specific principle of how to implement the code to see for yourself. After all, the code is written in detail.
First, Uikit class
1.uidevice+yyadd is not used, but it's almost old.
2.uiscrollview+yyadd add slide to specified bounds
3.uigesturerecognizer+yyadd is powerful, but long as you need to set it up otherwise long press multiple times and often is the click and long Press
4.uicolor+yyadd is powerful but some things are not used. Used to generate colors based on 16-bit binary.
5.uifont+yyadd feel not to use
6.uibezierpath+yyadd not to use
7.uitextfield+yyadd two methods not available
8.uibarbuttonitem+yyadd won't work.
9.uiimage+yyadd
The first is a method of loading a dynamic graph, a way to get a picture through a PDF, a way to get a picture by emoji, and a way to get a picture by color.
And then there are some ways to change the picture. These are not commonly used in general development. Only in a beauty camera will you encounter a non-consideration.
10.uiscreen+yyadd is not used, but it's almost old.
11.uiapplication+wcyadd.h is mainly some of the attributes extracted out very simple see for yourself.
12.uicontrol+yyadd is mainly for UIButton of the parent class Uicontrol do some extensions.
13.uitableview+yyadd the method of inserting and deleting the system is encapsulated.
14.uiview+yyadd This class first is two screenshot function, screenshot conversion PDF, remove sub-view, coordinate changer function.
Second, Foundation
1.nsarray+yyadd
This class is preceded by an extension of the Nsarray to get an array from the plist
The Nsmutablearray is later extended to get an array from the plist. Removes the first last array. Add one or more elements at the beginning or end or anywhere. Methods such as output arrays in reverse.
2.nsbundle+yyadd This class I feel a little function, not to use
3.nsdate+yyadd
It is mainly to extract some attributes of time. And the time has been a number of processing.
4.nskeyedunarchiver+yyadd Archive Solution Archive This one, I'm not going to make a comment with less.
5.nsnumber+yyadd a way to convert a string into a nsnumber
6.nsobject+yyaddforarc redefined some of the arc methods
7.nsdictionary+yyadd
The first is the extension of nsdictionary, which first wrote several methods to generate dictionaries and conversion plist from the plist.
Then there is a way to sort the dictionary key and output the array, and then there is a way to generate a dictionary from the XML. A method that determines whether a dictionary contains a key. Lover Cow also set some method of getter value
The following is an extension of nsmutabledictionary, similar to the one above. However, two modification methods were added.
8.nsnotificationcenter+yyadd
This class features a powerful new method for sending notifications. To see the code in detail
9.nsobject+yyaddforkvo
This class is mainly a new observation method for the Kvo method.
10.nsthread+yyadd added an auto-release pool
11.nsobject+yyadd this piece later in understanding. I don't feel like it at ordinary times.
12.nstimer+yyadd adds two new methods to Nstimer. The notes are very well written.
13.nsstring+yyadd is primarily a cryptographic processing of strings.
14.nsdata+yyadd is mainly the encryption of data processing.
Third, Quartz
1.calayer+yyadd yycgutilities These two classes are usually not available.
Yycategories learned that it was almost there.
IOS---Learning research daniel git Takaboshi Project Yycategories (iv)