Objective c 尝试将数据控制器分配给XCode中的UICollectionViewController时出错

Objective c 尝试将数据控制器分配给XCode中的UICollectionViewController时出错,objective-c,ios,controller,uicollectionview,Objective C,Ios,Controller,Uicollectionview,我已经设置了一个LibraryDataController类,该类从sqlite数据库获取数据。这是它的.h文件: #import <Foundation/Foundation.h> #import <sqlite3.h> @interface LibraryDataController : NSObject{ sqlite3 *database; } @property (nonatomic) NSMutableArray *masterPhotoList;

我已经设置了一个LibraryDataController类,该类从sqlite数据库获取数据。这是它的.h文件:

#import <Foundation/Foundation.h>
#import <sqlite3.h>

@interface LibraryDataController : NSObject{
    sqlite3 *database;
}
@property (nonatomic) NSMutableArray *masterPhotoList;

-(NSInteger)listCount;
-(NSString*)objectInListAtIndex:(NSUInteger)index;
-(void)createEditableCopyOfDatabaseIfNeeded;
-(void)initializeDefaultList;
-(void)closeDatabase;
@end
错误来自libraryView.dataController=aDataController;线路。你知道我的问题是什么吗?我认为这可能与UICollectionView有关,因为我对它非常陌生。这段代码与我在UITableView中成功使用的代码几乎相同,我觉得这两种视图非常相似。谢谢您的帮助。

错误消息

[UICollectionViewController setDataController:]: unrecognized selector sent to instance 0x71a5170
显示
libraryView
(选项卡栏控制器的第二个视图控制器)是
UICollectionViewController
的实例,而不是如您所预期的
LibraryViewController


解决方案是将脚本文件中视图控制器的“自定义类”设置为“LibraryViewController”(使用“身份检查器”)

错误消息是什么?@martin这是我得到的:
2012-12-07 02:38:03.320 iPhone AR[10244:11303]-[UICollectionViewController setDataController:]:无法识别的选择器发送到实例0x71a5170 2012-12-07 02:38:03.614 iPhone AR[10244:11303]***由于未捕获异常“NSInvalidArgumentException”而终止应用程序,原因:'-[UICollectionViewController setDataController:]:无法识别的选择器发送到实例0x71a5170'
,这意味着
libraryView
UICollectionViewController
的一个实例,而不是
LibraryViewController
,正如您所期望的那样。如果控制器是在nib或故事板文件中定义的,您可能必须将“自定义类”设置为“LibraryViewController”谢谢你,马丁!故事板有时确实让我错过了一些小事情。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.

    UITabBarController *tabController = (UITabBarController *)self.window.rootViewController;
    LibraryViewController *libraryView = [[tabController viewControllers] objectAtIndex:1];
    LibraryDataController *aDataController = [[LibraryDataController alloc] init];

    libraryView.dataController = aDataController;

    return YES;
 }
[UICollectionViewController setDataController:]: unrecognized selector sent to instance 0x71a5170