0

ユーザー入力データをテキストフィールドのオブジェクトのNSNumber変数に格納しようとしています。私のログに基づくと、値は問題なくすべてを保存します。

問題は、ユーザーがナビゲーションを介してビューを変更してから戻る場合です。NSNumber値にアクセスしようとすると、不正アクセスエラーが発生します。奇妙な部分は、私が保存している値が1桁(0-9)しかない場合、クラッシュは発生しません。

いくつかのコード...

   //conversion then storage of the NSNumber value into the object
   NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
   [formatter setNumberStyle:NSNumberFormatterNoStyle];
   NSNumber *num = [formatter numberFromString:textField.text];
   _options.unitsPerCase = num;
   NSLog(@"num: %@",num);
   break; 


   //user leaves screen i reload tabledata and try to 
   //populate with previously saved NSNumber
   case NumberTextFieldSection:
    {
        switch (indexPath.row)
        {
            case NumberTextFieldRow:
            {
                cell.valueTextField.text = [_options.unitsPerCase stringValue];
                break;
            }

            default:
                break;
        }
    }
4

1 に答える 1

3

unitsPerCaseプロパティがmyOptionsクラスで強力に宣言されているか保持されているかどうかを確認してください。

使用する

@property (nonatomic, strong) NSNumber *unitsPerCase;
于 2013-03-06T19:28:28.713 に答える