【发布时间】:2012-02-07 18:44:34
【问题描述】:
我正在构建一个应用程序,它的主视图由地图视图组成。第二个视图有一些必要的配置选项(配置视图)。我使用部分 curl segue 转到此配置视图。
我遇到的问题是我的配置视图的状态没有得到维护。
例如,
我将进入配置视图,对设置进行一些更改并返回主地图视图。一旦我再次返回配置视图,这些值就会恢复到它们的默认值。有问题的值是 distanceFilterValue。
这是我的配置视图控制器的实现:
@interface SimpleConfigViewController()
//private interface inside implementation
@property (weak, nonatomic) UISlider * distanceFilterSlider;
@property (strong, nonatomic) NSNumber *distanceFilterValue;
@end
@implementation SimpleConfigViewController
@synthesize distanceFilterLabel = _distanceFilterLabel;
@synthesize distanceFilterSlider = _distanceFilterSlider;
@synthesize distanceFilterValue = _distanceFilterValue;
- (NSNumber *)distanceFilterValue {
if (!_distanceFilterValue) {
_distanceFilterValue = [NSNumber numberWithFloat:250.0];
}
return _distanceFilterValue;
}
- (IBAction)distanceSliderValueChanged:(UISlider *)sender {
self.distanceFilterValue = [NSNumber numberWithFloat:sender.value];
//update GUI
self.distanceFilterLabel.text = [NSString stringWithFormat:@"%.f m", sender.value];
}
@end
在我看来,因为我保留了一个指向 distanceFilterValue 的强指针,所以当我返回配置视图时,这个值应该是正确的。我显然在这里遗漏了一些东西。
提前感谢您的帮助。
【问题讨论】:
-
相关的是地图视图的实现。
-
在我真正开始将配置值连接到地图视图之前,我正在尝试让配置视图独立于地图视图工作。
标签: iphone objective-c ios xcode4 ios5