Old driver iOS weekly, just for you to present valuable information.

You can also contribute to the project, if you find valuable information, articles, tools, etc., please send it to us in Issues, we will deal with it as soon as possible. Be sure to include a reason for your recommendation. Suggestions and comments are also welcome to Issues.

The novice recommended

🐎 Using Closures to initialize properties in Swift

Anotheren: This article shows you how to use closures to initialize storage properties, specifically lazy var to delay initialization, and you can even “safely” use self in closures. Closures are a good way to put together code that would otherwise be scattered around the program and are recommended.

Zvving: It’s worth noting that lazy var doesn’t do thread-safe, and it’s important to keep this in mind when using it. For more information about Swift resource competition, read Thread Sanitizer Explained: Data Races in Swift.

🐎 tintColor

TintColor is a variable that returns a color in UIView. If you don’t define the color, it returns the system’s default color (bright blue). For example, if you don’t define the text color of a button, you’ll see the default blue. And you can easily change the look of your application by setting tintColor on the view controller’s view. For more details on how to use tintColor, see the article ~

The article

🌟 🐢 Reveal the core technology of APM iOS SDK

J_Knight_ : This article refers to the APM SDK such as Listening Cloud, OneAPM and Firebase Performance Monitoring, and shares the implementation of several APM core technologies with the code:

  1. Page rendering time monitoring
  2. Start time monitoring
  3. Network monitoring
    1. NSURLSession (all apis of NSURLSessionDataTask, NSURLSessionUploadTask, NSURLSessionDownloadTask)
    2. Response time (the time between sending a request to the server and reaching the client)

The specific implementation method can refer to the detailed code in the article, which will be helpful for us to achieve these monitoring projects.

🐕 After reading this article, you don’t need to worry about the “black magic” of Git anymore.

@Smile drink arsenic: The title is a bit of magic, in fact, this article is a rough overview of some basic commands of Git, the purpose of which is to throw a spark, let everyone have a basic understanding of Git. You can refer to it for reference when you use it.

🐕 Understanding Swift’s ObjectIdentifier

Damonwong: ObjectIdentifier is a relatively obscure type in Swift. Here, the cold is not to mean that it does not work, but daily use is not much. Within Swift, the ObjectIdentifier plays an important role and is the basis for the implementation of the operator ===. It can also serve as a tool for metatypes to compare with each other. (The default metatypes does not follow Hashable). This article briefly introduces what ObjectIdentifier is, the principle of ObjectIdentifier, and how to use ObjectIdentifier to improve App performance.

🐕 Configuring the Main Thread Checker

@ old peak: MTC_MAX_HIT_COUNT (before the Main Thread Checker stops, The number of times a given method is called from a background Thread), and another article focuses on the Main Thread Checker implementation principle, which can be further explored by interested readers.

🐎 To explore? Hidden symbols in WhatsApp app names

Backgammon: This article is about a special character discovered by the author in the course of accidental research that can ensure the correctness of the name display in the complex right-to-left process. A very short article, but very interesting, recommended reading.

code

Thrio

@ CrazyCoderShi: Flutter_boost has been an important framework for Flutter hybrid development. However, there seems to be no alternative to Flutter_Boost in the community. Harlow Travel recently opened its own Flutter hybrid development framework Thrio. Being lighter and less invasive is also a good option. It’s a great accompaniment to this.

push

Senior driver Weekly team combined knowledge collection and SwiftGG Translation group included a reliable internal promotion position.

If you want to looking for a job, click here: www.yuque.com/iosalliance…

If you want to recruit people, click here: www.yuque.com/iosalliance…

Of course, you are also welcome to pay attention to our weekly report, we will update the editorial post at the bottom of each weekly report.

Pay attention to our

We have opened an official account, and every issue will be released on the official account (OldDriverWeekly), welcome to follow.

RSS feeds are also supported: github.com/SwiftOldDri… .

instructions

🚧 indicates the need to climb the wall, and 🌟 indicates the editor’s recommendation

Estimated reading time: 🐎 in a short time (1-10 mins); 🐕 medium (10-20 mins); 🐢 slow (20+ mins)