このフォーラムの他の回答を使用して、このクラスメソッドを作成して、文字列が数値かどうかを判断しました。問題なく動作しますが、呼び出されるたびに alloc-init を実行する必要がありますか? 結局のところ、これが XCode4 ではない場合、メモリ リークが発生するのではないでしょうか? NB、私はそれを防ぐ自動参照カウンターを持つXCode4を使用しています。
私は次のようなことをしたいと思っていました
if this is not alloc-initted then alloc-init
しかし、それを機能させることができないようです。
方法は現状のまま
+ (BOOL)isThisANumber:(NSString *)candidate{
NSNumberFormatter *fmtr = [[NSNumberFormatter alloc] init];
[fmtr setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber *myNumber = [fmtr numberFromString:candidate];
if ( myNumber== nil) {
return NO;
}
else{
return YES;
}