0

我有以下问题

抽象过程中,我在目标 c 中封装了一个类,它允许我更改矩形大小和在底层图像上的位置。我使用这个类,因为在某些情况下每个都略有不同。在一个中,我需要确保另一个矩形的最小和最大尺寸必须是正方形。所以我观察用户设置的值并使用objective-c方法检查它是否符合规则:

[rectDrawer addObserver:self forKeyPath:@"value" options:NSKeyValueObservingOptionNew context:nil];
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context

在这种方法中,我检查了约束。但是当我想更正一个无效值并将其写回时,就会出现“EXC_BAD_ACCESS”异常的问题

我也尝试遵循以避免异常,但这无济于事

[rectDrawer removeObserver:self forKeyPath:@"value"];
rectDrawer.value = _value;
[rectDrawer addObserver:self forKeyPath:@"value" options:NSKeyValueObservingOptionNew context:nil];

有没有可能的解决方案

4

0 回答 0