我正在按照Facebook的教程发布到用户的墙上:http://developers.facebook.com/docs/howtos/publish-to-feed-ios-sdk/ 虽然它是用.xib项目制作的,但到目前为止,我已经能够完成我的故事板项目。但是,我已经到了需要将一些代码放入initWithNibName:bundle:方法的地步,但我不能这样做,因为我使用的是storyboard。并且,由于很难判断何时调用该方法,我不能只编写一个名为initWithNibName的方法:bundle:并从其他方法调用它。如果有人知道如何解决我的问题,请说出来。感谢。
答案 0 :(得分: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
。最好将代码移动到正确的方法。