11

我正在按照 Facebook 的教程发布到用户的墙上: http: //developers.facebook.com/docs/howtos/publish-to-feed-ios-sdk/ 虽然它是在考虑 .xib 项目的情况下制作的,但我到目前为止,我的故事板项目已经能够很好地完成所有事情。但是,我已经到了需要将一些代码放入 initWithNibName:bundle: 方法的地步,但我不能这样做,因为我正在使用情节提要。而且,由于很难确定何时调用该方法,因此我不能只编写一个名为 initWithNibName:bundle: 的方法并从其他方法调用它。如果有人对如何解决我的问题有任何想法,请说出来。谢谢。

4

1 回答 1

39

我自己也遇到了这个问题。情节提要似乎不使用initWithNibName:bundle:,但要么initWithCoder:(NSCoder *)aDecoder要么initWithStyle:(UITableViewStyle)style

这两种方法的默认实现如下所示:

- (id)initWithCoder:(NSCoder *)aDecoder
{
    self = [super initWithCoder:aDecoder];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (id)initWithStyle:(UITableViewStyle)style
{
    self = [super initWithStyle:style];
    if (self) {
        // Custom initialization
    }
    return self;
}

我自己还没有使用 initWithStyle 版本,但我想它是为 UITableViewController 调用的。如果有疑问,您可以简单地将这两种方法添加到文件中,以及打印方法名称(或任何其他唯一字符串)的 NSLog() 调用。然后您可以在模拟器中运行它以查看调用了哪个,并删除了另一个。

我强烈建议initWithNibName:bundle:不要使用任何其他init方法给自己打电话。最好将代码移动到正确的方法。

于 2012-08-16T15:19:45.510 回答