NSData to NSString

En Objective C para castear un objeto NSData a un objeto NSString se realiza de dos maneras:

Si el objeto no termina en null hay que usar el método -initWithData:encoding:
    NSString* newStr = [[NSString alloc] initWithData:data
                                              encoding:NSUTF8StringEncoding];

Si el objeto termina en null hay que usar el método -stringWithUTF8String para eliminar el \0 al final de la cadena.
    NSString* newStr = [NSString stringWithUTF8String:[data bytes]];