objective-c storyboard outlet和文件所有者连接问题

时间:2015-01-16 21:53:33

标签: ios objective-c xcode-storyboard

我是ios,objective-c和xcode的新手。尝试使用集合视图构建一个简单的应用程序来学习。我不确定我是否得到了插座和文件所有者的设置并正确链接。

我收到以下错误:

  

2015-01-16 08:15:19.711测试[4548:187055] *断言失败    - [ViewController loadView],/ SourceCache / UIKit_Sim / UIKit-3318.16.14 / UICollectionViewController.m:166   2015-01-16 08:15:19.713测试[4548:187055] * 由于终止应用程序   未捕获的异常'NSInternalInconsistencyException',原因:   ' - [UICollectionViewController loadView]加载了   “tzI-IH-vJx-view-Jhf-9m-MoA”nib但没有获得UICollectionView。'

我有一个故事板。它有一个视图控制器。在View Controller中,我有一个View。在这个视图中,我有Collection View。在这个Collection View中,我有CollectionViewCell。在CollectionViewCell中,我有Image View。我不确定这些应该如何连接。

这是我的代码,我不能张贴屏幕截图,我刚加入。有人可以帮忙吗这应该很容易,但我花了很多时间。

谢谢

==========================


ViewController.m:

#import "ViewController.h"

#import "Cell.h"

@interface ViewController (){
    NSArray *myArray;
}


@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}



@end

===============================
ViewController.h:

#import <UIKit/UIKit.h>

@interface ViewController : UICollectionViewController <UICollectionViewDataSource, UICollectionViewDelegate>

@property (nonatomic, weak) IBOutlet UICollectionView *collectionView;

@end


==============================

Cell.h:


#import <UIKit/UIKit.h>

@interface Cell : UICollectionViewCell

@property (nonatomic, weak) IBOutlet UIImageView *itemImageView;

@end


=============================

Cell.m:

#import "Cell.h"

@implementation Cell

@end

1 个答案:

答案 0 :(得分:0)

如果您将ViewController类与故事板中的视图控制器对象相关联,那么您应该确保view的{​​{1}}绑定正确设置为{{1}对象。我希望下面的图片能让您更清楚地查看:

enter image description here

您还会注意到2个绑定dataSource和delegate:确保ViewController collectionViewcollectionView绑定绑定到视图控制器。

在另一个硬币上,我不知道你想要做什么,但你会发现在故事板中实例化dataSource会更容易。这将为您提供以上所有已经很好的设置。 (除非您尝试使用仅占用屏幕一部分的集合视图。)