我试图将文本字段中的用户输入数据存储到对象的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;
}
}
答案 0 :(得分:3)
我怀疑 unitsPerCase 属性会检查它是否被声明为强或保留在myOptions类中。
使用
@property (nonatomic, strong) NSNumber *unitsPerCase;