Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
A line (remember 9th grade geometry class?) is defined by two points. Our Line stores these points as properties named begin and end. When a touch begins, you’ll create a line and set both begin and end to the point where the touch began. When the touch moves, you will update end. When the touch ends, you will have your complete line.
There are two collection objects that hold Line instances. Lines that have been completed are stored in the completeLines array. Lines that are still being drawn, however, are stored in an NSMutableDictionary. Why do we need a dictionary? We’ve enabled multi-touch, so a user can draw more than one line at a time. This means we have to keep track of which touch events go with which line. For instance, imagine the user touches the screen with two fingers creating two instances of