如何使用故事板添加自定义数据源类

时间:2014-07-17 20:37:26

标签: ios objective-c xcode storyboard

我找不到在故事板中添加我的自定义数据源类UICollectionView的方法。数据源类有这样的接口:

@interface CalendarDataSource : NSObject<UICollectionViewDataSource>

我尝试在场景边栏中找到日历数据源,但我不能。所以我似乎无法将类链接到我的UICollectionView。有什么我应该做但我没有?


如果你想重现类似的问题,只需在XCode5中创建一个新项目,设置一个UICollectionViewController,然后像上面一样创建一个新类。

我目前正在重写http://www.objc.io/issue-3/中描述的项目.Github回购是https://github.com/objcio/issue-3-collection-view-layouts但是,这个项目设法做到了这一点。我的代码与项目几乎相同,但由于viewcontroller.collectionView.dataSource未初始化,因此无法运行。

以编程方式进行初始化是另一个问题,但请在评论中告诉我,因为我从互联网上获得的只是将dataSource设置为self。但是将它设置为self并不需要引入一个新的保留数据源对象,我坚持使用它。

1 个答案:

答案 0 :(得分:21)

转到Interface Builder。

  • 右键单击故事板中的集合视图,删除dataSource出口(如果有)。
  • 在对象库的搜索文本字段中键入“对象”,然后将“对象”拖动到包含UICollectionView的视图控制器(即,将任何视图或视图控制器添加到情节提要场景时,执行相同操作,但添加例外情况除外不是视图或视图控制器而是抽象对象。)
  • 在故事板的左侧“场景”面板中,突出显示刚刚添加的对象;在右侧面板中,转到“身份检查器”并键入CalendarDataSource而不是预定义的NSObject。在左侧面板('Scenes')中,'Object'将自动重命名为'Calendar Data Source'。
  • 在故事板的左侧“场景”面板中,从您的UICollectionView控制拖动到“日历数据源”;在弹出窗口中,选择dataSource outlet。

你已经完成了!

enter image description here