Jaka jest najbardziej powszechna i poprawna praktyka, aby uzyskać CGFloat z NSNumber?

Kod roboczy dla mnie to coś w rodzaju:

NSNumber *n = @42.42;
CGFloat cgf = 0; 
CFNumberRef cfn = CFBridgingRetain(n);
CFNumberGetValue(cfn, kCFNumberCGFloatType, &cgf);
CFRelease(cfn);

Może być też

CGFloat cgf = (CGFLOAT_IS_DOUBLE) ? [n doubleValue] : [n floatValue];

Ale to dla mnie brzydki zapach.

Wydaje mi się, że powinien istnieć lepszy interfejs API do robienia takiej powszechnej rzeczy. Czy są jakieś?

questionAnswers(3)

yourAnswerToTheQuestion