Was ist die gebräuchlichste und korrekteste Vorgehensweise, um einen CGFloat von einer NSNumber zu erhalten?

Der Arbeitscode für mich ist so etwas wie:

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

Es könnte auch sein

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

Aber das riecht für mich noch hässlicher.

Es scheint mir, dass es eine bessere API geben sollte, um so etwas gemeinsam zu tun. Sind da irgendwelche?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage