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

jch*_*nxu 6 xcode objective-c storyboard ios

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

@interface CalendarDataSource : NSObject<UICollectionViewDataSource>
Run Code Online (Sandbox Code Playgroud)

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


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

我目前正在重写http://www.objc.io/issue-3/中描述的项目 .Github repo是https://github.com/objcio/issue-3-collection-view-layouts这个项目设法然而,这样做.我的代码与项目几乎相同但无法运行,因为viewcontroller.collectionView.dataSource未初始化.

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

Nik*_*aev 22

转到Interface Builder.

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

你做完了!

在此输入图像描述