You need to cast that final "sentinel" nil
to the correct type, using:
... , (NSString *)nil] autorelease];
// ^^^^^^^^^^^^
However, I am not certain why the compiler requires this cast.
I believe this is necessary when compiling with -Wstrict-null-sentinel
(waiting for confirmation from OP).