xon*_*rlz 10 iphone objective-c ipad ios
我有以下代码:
[[NSNotificationCenter defaultCenter] postNotificationName:kNewsfeedFetchCompleted object:self userInfo:userinfo];
Run Code Online (Sandbox Code Playgroud)
只有这一点,没有其他地方.以下是我设置观察者的方法:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(newsfeedFetchCompleted:) name:kNewsfeedFetchCompleted object:nil];
Run Code Online (Sandbox Code Playgroud)
问题是当我做一个帖子时,newsfeedFetchCompleted被调用了两次..这怎么可能呢?
Apu*_*urv 24
当您的addObserver代码执行两次时,这是可能的.通知功能将在注册时多次调用.
因此,请确保添加观察者的代码仅执行一次.因此,您可以将其保存在viewDidLoad或init方法中.
如果要将它放在viewWillAppear中,则在viewWillDisAppear中删除observer.
在添加观察者之前,请确保删除之前添加的观察者.
[[NSNotificationCenter defaultCenter]removeObserver:self];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(newsfeedFetchCompleted:) name:kNewsfeedFetchCompleted object:nil];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8158 次 |
| 最近记录: |