gpt4 book ai didi

iphone - NSNotificationCenter 以前在 iOS 6.1 中工作 - iOS 7 问题?

转载 作者:行者123 更新时间:2023-11-28 20:13:01 25 4
gpt4 key购买 nike

我在 viewDidLoad 中有以下代码片段,我发布了一个通知以供不同的 ViewController 接收,并且在 iOS 7(和 XCode 5)之前这已经有效:

if ([PFUser currentUser] && [PFFacebookUtils isLinkedWithUser:[PFUser currentUser]]) {
NSLog(@"Current user exists and is logged in"); //current works, so I know that this if-statement is satisfied
[self performSegueWithIdentifier:@"GoToRatingsView" sender:self];
[[NSNotificationCenter defaultCenter] postNotificationName:@"testSetup" object:nil]; //part in question
}

在 segued ViewController 中,我有以下内容:

(void)viewDidLoad
{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(testSetupFunction) name:@"testSetup" object:nil];
}

(void)testSetupFunction
{
NSLog(@"This function executed");
}

目前testSetupFunction没有执行,也就是说没有收到通知。我不确定是因为我转到了不同的 View 然后发布了通知,还是这是 iOS 7 的新功能,但目前不再收到通知。

感谢您的帮助!

最佳答案

一旦 View Controller 有时间加载就发布通知。

- (void)postNotificaiton
{
[[NSNotificationCenter defaultCenter] postNotificationName:@"testSetup" object:nil];
}

if ([PFUser currentUser] && [PFFacebookUtils isLinkedWithUser:[PFUser currentUser]]) {
[self performSegueWithIdentifier:@"GoToRatingsView" sender:self];
[self performSelector:@selector(postNotification) withObject:nil afterDelay:0.0];
}

您还可以从您的 segued View Controller 发布一个通知,说明它已加载,并作为对该通知的响应,发布您的 testSetup 通知。

关于iphone - NSNotificationCenter 以前在 iOS 6.1 中工作 - iOS 7 问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19415811/

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