NSNotification
方法确实存在这个无法解释的问题。
我长期使用NSNotificationCenter
但我无法解释为什么会这样。
我的问题是这个,
我有一个UITableViewCell子类,当用户点击单元格中的按钮时,我会向NSNotificationCenter
发送UIViewController
方法。
[[NSNotificationCenter defaultCenter] postNotificationName:MOVE_TO_PROGRAM_VIEW
object:self
userInfo:@{INDEX_ROW : [NSNumber numberWithInteger:self.tag]}];
self.tag
是行(对于控制器中的数据模型)。
在控制器中,我在viewWillAppear:
中注册通知,如下所示:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(userWantsToGoToProgramView:) name:MOVE_TO_PROGRAM_VIEW object:nil];
我也在viewWillDisappear:
[[NSNotificationCenter defaultCenter] removeObserver:self name:MOVE_TO_PROGRAM_VIEW object:nil];
现在在通知的方法中我尝试获取userInfo和行,但由于某种原因notificaiton
参数为零..
- (void)userWantsToGoToProgramView:(NSNotification *)notification
{
// notification is nil here
// get the index of the video in the feed
NSDictionary *userInfo = notification.userInfo;
NSInteger videoIndex = [userInfo[INDEX_ROW] integerValue];
NSDictionary *videoData = self.feed[videoIndex];
}
任何帮助建议都将受到赞赏
谢谢!