Figure 6-38 [PSListController tableView:cellForRowAtIndexPath:]
Dichotomy increases the efficiency of our investigation, but it brings a new question:
[PSListController tableView:cellForRowAtIndexPath:] branches a lot, where should we choose
as the investigation starting point to avoid missing any branches? Because [PSListController
tableView:cellForRowAtIndexPath:] will definitely execute code in the red block in figure 6-38,
if we start from this block, we can make sure every branch is investigated. Next let’s investigate
the 1st objc_msgSend in this block, if [$r6 detailTextLabel] contains my number, then we should
investigate upwards, otherwise we should investigate downwards. Take a look at the assembly
in the red block, as shown in figure 6-39.
Figure 6-39 loc_2a9f7966
There are 2 objc_msgSends, so we start from the top one, as shown in figure 6-40.