If nil is meant to mark the end of parameters, then can I use:
[NSArray arrayWithObjects:obj1, obj2, nil, nil, nil];
as the first nil marks
Yes, exactly, this can be done. The nils after the first one will be ignored.