Internal implementation principle of iOS category
https://blog.csdn.net/a316212802/article/details/49894421
What are the processes before main()?
simple summary
The whole event is dominated by dyld. After completing the initialization of the running environment, it cooperates with ImageLoader to load the binary file into the memory according to the format,
dynamically links the dependent library, and loads it into the structure defined by objc by the runtime. After all the initialization work is completed, dyld calls the real main function.
It is worth noting that this process is far more complicated than writing it out. Only the runtime branch is mentioned here, and the system library initialization branches like GCD
, XPC
etc. are not mentioned (of course, there is a caching mechanism, and they will not be fatal Initialization), in summary, before the main function is executed, the system has done a lot of loading and initialization work, but they are all well hidden, we don't need to care.
https://blog.csdn.net/guojin08/article/details/48527743
What should I pay attention to when implementing isEqual and hash methods?
https://www.jianshu.com/p/915356e280fc
What are the ways to handle thread safety?
http://www.cocoachina.com/ios/20160707/16957.html
iOS Design Patterns
https://www.cnblogs.com/wangbinios/p/7882082.html