IPhone2

CGContext
"When you call CGContextAddLineToPoint, it consumes the path in the context and begins a new one." "No, stroking a path does not close the path, it consumes the path leaving no path and no current point." "CGContextBeginPath also consumes the current path and clears the current point. It just does so without putting down any 'paint'." "Closing a path is a different operation. If the current point, and the first point of a path do not coincide, it will add a 'lineto' segment between the current point and the first point of the path, then it 'melds' the two endpoints together (so that there is a line join there)"
 * http://lists.apple.com/archives/quartz-dev/2007/Jun/msg00091.html

Interface Builder
"f you use Interface Builder to design your interface, this method is not called when your view objects are subsequently loaded from the nib file. Objects in a nib file are reconstituted and then initialized using their initWithCoder: method, which modifies the attributes of the view to match the attributes stored in the nib file. For detailed information about how views are loaded from a nib file, see Resource Programming Guide."
 * http://stackoverflow.com/questions/863321/iphone-how-to-load-a-view-using-a-nib-file-created-with-interface-builder
 * http://stackoverflow.com/questions/2951652/super-init-and-loading-nib-xib-files
 * http://weblog.bignerdranch.com/?p=129
 * http://developer.apple.com/library/ios/#documentation/uikit/reference/UIView_Class/UIView/UIView.html

Time
// When did we start the image save ? // CFTimeInterval is a double (floating point number) CFTimeInterval startTime = CFAbsoluteTimeGetCurrent; // Start the activity indicator UIActivityIndicatorView activityIndicator = [[UIActivityIndicatorView alloc]                   100, 400, 30, 30];  activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyleGray;  activityIndicator.autoresizingMask = (UIViewAutoresizingFlexibleLeftMargin |                    UIViewAutoresizingFlexibleRightMargin |                    UIViewAutoresizingFlexibleTopMargin |                    UIViewAutoresizingFlexibleBottomMargin);  [activityIndicator sizeToFit];  [self.view addSubview:activityIndicator];  [activityIndicator startAnimating];   // Save image code here...  // How much time has elapsed ?  CFTimeInterval difference = CFAbsoluteTimeGetCurrent - startTime; The last check I needed was to see if the amount of time that has elapsed was greater or less than the minimum time I wanted to display the activity indicator. If less than the desired amount of time, sleep for the amount of time needed to hit the minimum display time.  #define SECONDS_TO_DISPLAY_ACTIVITY_INDICATOR 3  ...  // Determine if some predetermined amount of time has passed.    if (difference < SECONDS_TO_DISPLAY_ACTIVITY_INDICATOR)    [NSThread sleepForTimeInterval:SECONDS_TO_DISPLAY_SAVING_MSG - difference];  // Remove the activity indicator and message  [activityIndicator stopAnimating];    [activityIndicator removeFromSuperview];  [activityIndicator release];
 * Time Utilities
 * http://iphonedevelopertips.com/date-and-time/determining-elapsed-time.html