Простые типы / Типы с "пустым" значением

NSNumber *getValue(void) {
    return nil;
}

//GNU extension "?:" is the ?? analog:
//takes the left side when it is not nil
NSNumber *n = getValue() ?: @(-1);
int value = n.intValue;
//value is -1

//is equal to
NSNumber *raw = getValue();
value = (raw != nil ? raw : @(-1)).intValue;
//value is -1