This array convenience method takes a comma-separated list of objects ending with nil.
myArray = [NSArray arrayWithObjects:aDate, aValue, aStrin
Null terminated variable argument lists, or va_lists, keep walking the list of arguments until they encounter a placeholder or sentinel, which is nil.
Since the method has no way of knowing how many arguments you are passing, it needs the sentinel (nil) to tell where the list ends.
To mark the end of the list of objects.
Here's a discussion from CocoaBuilder.