故事板中的UITableView

时间:2012-11-21 09:28:31

标签: uitableview uiviewcontroller initialization storyboard

Hello stackoverflow的家伙们!

我遇到了一个问题,我不知道如何修复它......

我有一个带有UINavigationController的StoryBoard,它有一个UIViewController作为RootViewController。在这个RootViewController中我有2个UIButton。

第一个UIButton instantiateViewControllerWithIdentifier一个UICollectionViewController很好用。

seconde UIButton instantiateViewControllerWithIdentifier一个UIViewController,它有2个UITableView。这是我的问题,当我实例化我的UIViewController我的2 UITableView很好加载但是当我触摸它(滚动)我有这个错误:

-[__NSCFType scrollViewDidScroll:]: unrecognized selector sent to instance 0x752ff90
2012-11-21 10:22:49.300 Month[19992:11303] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFType scrollViewDidScroll:]: unrecognized selector sent to instance 0x752ff90'

但是当我按照自己的意愿制作RootViewController everyworks时......所以只有当RootViewController实例化我的UIViewController时才会崩溃。

这是我按UIButton时实例化我的UIViewController的方法:

  DayViewController *viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"calendarDay"];

希望你能帮助我解决这些问题。

此致

1 个答案:

答案 0 :(得分:1)

看起来你有一个你正在使用UIScrollViewDelegate的对象而且该对象被过早发布。 ([__NSCFType scrollViewDidScroll:]表示消息正在发送到Core Foundation项目,这可能意味着对象地址正在被重用于其他内容。)

您为创建DayViewController而显示的代码会将对象分配给局部变量。假设您正在使用ARC,如果这是用作委托的对象,请尝试将其分配给强属性。如:

// .h file
@property (nonatomic, strong) DayViewController *viewController;

// .m file
self.viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"calendarDay"];