Классы / Методы

-(double) getAvg: (NSNumber *) firstValue, ... NS_REQUIRES_NIL_TERMINATION {
    va_list args;
    va_start(args, firstValue);
    double sum = 0;
    int count = 0;
    for (NSNumber * arg = firstValue; arg != 0; arg = va_arg(args, NSNumber *))
    {
        sum += arg.doubleValue;
        count++;
    }
    va_end(args);
    return sum / count;
}

double avg = [self getAvg:@1, @2, @3, @4nil];
//avg is 2.5