Como detectar se o NSString é nulo?

Tenho um código que detecta se umNSString éNULL, nil, etc. No entanto, ele trava. Aqui está o meu código:

NSArray *resultstwo = [database executeQuery:@"SELECT * FROM processes WHERE ready='yes' LIMIT 0,1"];
for (NSDictionary *rowtwo in resultstwo) {

NSString *getCaption = [rowtwo valueForKey:@"caption"];

if (getCaption == NULL) {
theCaption = @"Photo uploaded...";
} else if (getCaption == nil) {
theCaption = @"Photo uploaded...";
} else if ([getCaption isEqualToString:@""]) {
theCaption = @"Photo uploaded...";
} else if ([getCaption isEqualToString:@" "]) {
theCaption = @"Photo uploaded...";
}

}

E aqui está o erro:

Terminando o aplicativo devido a uma exceção não detectada 'NSInvalidArgumentException ', motivo:'-[NSNull isEqualToString:]: seletor não reconhecido enviado para a instância0x3eba63d4'

Estou fazendo algo errado? Preciso fazer de uma maneira diferente?

questionAnswers(5)

yourAnswerToTheQuestion