我有一个新的视图控制器,当收到推送通知时,它会从app delegate中实例化。在视图控制器的头文件中,我创建了一个NSDictionary,并且我将字典的值设置为app delegate的didReceiveRemoteNotification中的userInfo。
字典正在填充userInfo,但没有出现任何标签。我知道这是因为我在视图控制器中记录了它。问题是视图是完全空白的。
我尝试改变一堆东西,比如使用viewDidLoad,viewDidAppear,viewWillAppear,但没有人帮助过。
这是代码
-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:NO];
NSLog(@"VIEW DID Appear");
NSLog(@"TDICTIONARY: %@", tDictionary);
self.taskAddress.text = [tDictionary objectForKey:@"address"];
NSLog(@"Address: %@", [tDictionary objectForKey:@"address"]);
self.taskName.text = [tDictionary objectForKey:@"task"];
NSLog(@"Name: %@", [tDictionary objectForKey:@"task"]);
...
我一直在试着把头发拉出来,所以任何帮助都会非常感激!
编辑以下是实例化视图的代码。我不认为这是问题,因为字典被传递给视图控制器(我知道这是因为我从视图控制器记录它),但我很可能错了。
let storyboard = UIStoryboard(name: "Main", bundle: nil)
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
self.window!.rootViewController = remoteViewController()
let vc = storyboard.instantiateViewControllerWithIdentifier("remoteViewController") as remoteViewController
vc.tDictionary = userInfo
println("DICTIONARY \(vc.tDictionary)")
self.window!.makeKeyAndVisible()
println("VIEW CONTROLLER \(vc)")
self.window!.rootViewController!.presentViewController(vc, animated: false, completion:
{() -> Void in println("new view")
})
编辑2 我用标签"标签"断开了标签和标签的连接。出现在视图上。当我重新连接它们时,它们再次变为空白。现在才更加确信这与viewDidAppear有关。