【问题标题】:XCode: Reload New View For Instance of View ControllerXCode:为视图控制器实例重新加载新视图
【发布时间】:2012-03-30 15:16:49
【问题描述】:

所以我让我的应用程序委托处理一些 fblogin 的东西,当它从我的视图控制器登录回来时,似乎没有连接。我认为它是因为 AppDelegate 正在初始化一个新的视图控制器而没有设置一个 nib 名称......但我不知道如何使用情节提要来做到这一点。救命!

请保持简单,我还是个新手。

另外,请告诉我我可以提供哪些代码来提供帮助。

更多信息:

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

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

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

-乔什

【问题讨论】:

    标签: objective-c xcode cocoa-touch uiviewcontroller


    【解决方案1】:

    故事板和 nib (.xib) 大多是相互排斥的。故事板的正常情况是某些控制器被标记为初始控制器,并且在开始时以半魔法方式呈现:)。然后,该控制器的 viewDidLoad: 方法作为应用启动的一部分被调用,此时,您的 outlet 应该是有效的。

    【讨论】:

    • 嗯。然后我只是感到困惑并且在如何调试方面不知所措。例如,当我 NSLog 我的 UITableView(登录前)时,它会显示
    • 如果您注释掉“lgging in”的东西,viewDidLoad 中的网点是否正常? (这将验证情节提要连接是否设置正确。)此外,登录是否会转到新的视图控制器,如果是,它是否是情节提要的一部分?
    • 是的,在登录之前一切正常。我可以更改按钮文本并将内容扔到表格中。我不确定登录是如何工作的..它会打开浏览器或其他东西然后返回..不是故事板的一部分...它只是 facebook sdk api 的一部分...然后我认为它会控制权到应用程序。
    • 另外,我知道你来自多伦多,你有机会做私人咨询(又名辅导)吗?
    【解决方案2】:

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

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

    并使用 [appDelegateInst doFBLoginStuff:self] 从我原来的视图控制器调用它;

    【讨论】:

    • 恭喜! :-)(我不会对 Facebook 的任何特定内容提供任何帮助。)
    猜你喜欢
    • 2015-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-16
    • 1970-01-01
    相关资源
    最近更新 更多