1
我为NSDecimalNumber
创建了一个类别,其中我输入NSString
并返回NSDecimalNumber
。我在我的一些视图控制器中使用它,并想创建一个NSNumberFormatter
的单个全局实例。我认为这有效,但我不知道如何测试它。例如,我希望NSLog每次分配一个NSNumberFormatter
实例。我怎么做?如何测试我的NSNumberFormatter是否仅初始化一次?
#import "NSDecimalNumber+amountFromTextField.h"
@implementation NSDecimalNumber (amountFromTextField)
static NSNumberFormatter *nf;
+(NSDecimalNumber *)amountFromTextField:(NSString *)amount {
@synchronized(self) {
if (nf == nil) {
nf = [[NSNumberFormatter alloc] init];
}
}
NSDecimal _amount = [[nf numberFromString:amount] decimalValue];
return [NSDecimalNumber decimalNumberWithDecimal:_amount];
}
@end
使用调度一次。由此,数字格式化程序将仅被初始化一次。 http://stackoverflow.com/q/5720029/3882338 –
虽然这仍然需要测试。 – Cristik