gpt4 book ai didi

ios - KVO 不能与 UISwitch 一起工作

转载 作者:可可西里 更新时间:2023-11-01 05:06:58 26 4
gpt4 key购买 nike

我这辈子都无法让 KVO 与 UISwitch 一起工作。我有一个自定义 UITableViewCell,其中包含一个通过 Interface Builder 添加的 UISwitch。我为 UISwitch 创建了一个 IBOutlet 并将其链接到 theSwitch 变量。

- (id)initWithCoder:(NSCoder *)coder {
self = [super initWithCoder:coder];
if (self) {
[theSwitch addObserver:self forKeyPath:@"on" options:NSKeyValueObservingOptionNew context:NULL];
}
return self;
}

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
NSLog(@"toggled switch");
}

observeValueForKeyPath:ofObject:change:context 永远不会被调用!

最佳答案

我不确定,但有可能 UISwitch 根本不符合 KVO。

没关系,因为你可以只使用控制事件:

[theSwitch addTarget:self action:@selector(switchChanged:) forControlEvents:UIControlEventValueChanged];
// ...
- (void)switchChanged:(UISwitch *)sender {
if (sender.on) {
// ...
}
}

关于ios - KVO 不能与 UISwitch 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7193958/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com