gpt4 book ai didi

将 NSNotificationCenter 添加到 UIView 的 iOS 异常

转载 作者:行者123 更新时间:2023-11-28 19:44:15 26 4
gpt4 key购买 nike

我在 UIView 中添加了一个 NSNotificationCenter,当我第一次访问该页面时,NSNotificationCenter 工作正常。但是,当我离开该页面并再次返回该页面时,它会给出错误

'NSInvalidArgumentException', reason: '-[UITextMagnifierTimeWeightedPoint updateProfile:]: unrecognized selector sent to instance.

这是代码。

UIView1:

- (void)changeUIView {
UIView2 *view = [[UIView2 alloc] init];
// show UIView2
}

UIView2:

- (id)init {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateProfile:) name:@"updateProfile" object:nil];
return self;
}

-(void)updateProfile:(NSNotification *)notification {
// do something
}

- (void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:@"updateProfile"];
}

- (void)buttonClick {
[[NSNotificationCenter defaultCenter] postNotificationName:@"updateProfile" object:nil userInfo:nil];
}

最佳答案

您需要删除 self 作为观察者而不是您用来处理通知的 selector

[[NSNotificationCenter defaultCenter] removeObserver:self];

或者如果你想更具体一些,你可以使用

[[NSNotificationCenter defaultCenter] removeObserver:self name:@"updateProfile" object:nil];

关于将 NSNotificationCenter 添加到 UIView 的 iOS 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33077359/

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