2012-03-30 122 views
1

因此,我有我的应用程序委托处理一些fblogin的东西,当它从记录我的视图控制器插座回来似乎并没有连接。我认为它是因为AppDelegate正在初始化一个新的视图控制器而没有设置一个笔尖名字......但是我不知道如何在故事板上做到这一点。帮帮我!XCode:重新加载视图控制器实例的新视图

请保持简单,我还是挺新的。

另外,让我知道我可以提供哪些代码来提供帮助。

更多信息:

我想我需要添加更多的信息,以帮助想出解决办法。好的,所以从我的视图控制器中,我创建了应用程序委托的实例。应用程序委托包含一个facebook对象的实例。我从视图控制器呼叫[[appDelegateInst facebook] authorize:permissions];,它启动Facebook的授权对话框(在新窗口中)。了Facebook的应用程序委托实例初始化像这样:

vc = [[ViewController alloc] init]; 
    facebook = [[Facebook alloc] initWithAppId:@"309362365798188" andDelegate:vc]; 

因此,视图控制器告诉应用程序委托实例先走,并授权(登录)在其Facebook的实例。该facebook实例的代表是viewcontroller实例(vc)。当身份验证呼叫将控制权交还给应用程序时,将调用代理方法fbDidLogin()(它位于viewcontroller类中)。在那个方法中,我必须手动调用viewDidLoad,因为我的所有实例变量现在都是空的......我可能只是回答了我自己的问题..我创建了一个viewcontroller的实例,但从未加载视图..所以,当我返回I '现在'在'appdelegate视图控制器实例中,但试图连接到现在在页面上的前一个实例的视图..是吗?如果是这样,我怎么解决它:)

-Josh

回答

0

故事板和碎粒(的.xib)大多是相互排斥的。一个故事板的正常情况是,一些控制器被标记为最初的一个,并且在开始时它以半神奇的方式呈现。然后,该控制器的viewDidLoad:方法将作为应用程序启动的一部分进行调用,并且此时您的网点应该是有效的。

+0

hmmmn。然后,我只是感到困惑,并且在如何调试方面感到不知所措。当我NSLog我的UITableView例如(预登录)它说 JoshDG 2012-03-30 15:27:04

+0

如果你注释掉“lgging in”的东西,那么viewDidLoad中的插口是否可以使用? (这将验证故事板连接是否设置正确。)另外,是否登录到新的视图控制器,如果是,它是故事板的一部分吗? – 2012-03-30 15:34:37

+0

是的,一切正常工作之前登录..我可以更改按钮文本和扔东西在表中。我不完全确定登录是如何工作的..它打开浏览器或其他东西然后返回..不是故事板的一部分......它只是facebook sdk api的一部分......然后我认为它是双手控制的到应用程序。 – JoshDG 2012-03-30 15:58:00

0

我想通了!万岁!因此,而不是在我的appdelegate使用视图控制器的新实例,我实现了这个:

-(void) doFBLoginStuff:(id)oldView 
{ 
    facebook = [[Facebook alloc] initWithAppId:@"309362365798188" andDelegate:oldView]; 
    [facebook authorize:nil]; 
} 

,称那是从[appDelegateInst doFBLoginStuff:自我]我原来的视图控制器;

+0

恭喜! :-)(我不会对Facebook特有的任何帮助。) – 2012-03-30 22:14:20