Turning Touches Into Lines

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. ...

Get iOS Programming: The Big Nerd Ranch Guide now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.