视图控制器以编程方式实例化后标签为空白

时间:2015-02-05 01:47:38

标签: ios objective-c swift viewcontroller viewdidappear

我有一个新的视图控制器,当收到推送通知时,它会从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有关。

0 个答案:

没有答案