UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Hello" message:@"Do you really want to?" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];The intuively unobvious thing is, that otherButtonTitles requires a nil-terminated, comma-seperated list(?) of NSStrings. Although you can add (any number?) of additional buttons, it gets silly after about 3. Another thing to note is that in the case of two buttons, they get displayed side by side, whereas one button or more than two are shown vertically stacked.
+ (id)buttonWithType:(UIButtonType)buttonTypecreate an auto-released object? Seems very much like it.