2013-06-20 2 views
0

오류 신호 SIGABRT NSInvalidArgumentException', 이유 : 'UICollectionView를 Null 이외의 레이아웃 매개 변수로 초기화해야합니다.' 있는 UITableViewCell이 모음집보기 SEGUE에 대한 스토리 보드 파일을 사용하여 UICollectionViewNSInvalidArgumentException ', 이유 :'UICollectionView를 Null 이외의 레이아웃 매개 변수로 초기화해야합니다. '

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
UIViewController *viewController; 
switch (indexPath.row) { 

    case IMAGE: 
     viewController = [[[CollectionViewController alloc] init] autorelease]; 
[self.CollectionViewController registerClass:[UICollectionViewCell class]forCellWithReuseIdentifier:@"Cell"]; 

     case PROCEDURAL: 
     viewController = [[[ProceduralExampleViewController alloc] init] autorelease]; 
     break; 
    default: 
     viewController = [[[UIViewController alloc] init] autorelease]; 
} 
[self.navigationController pushViewController:viewController animated:YES]; 
} 

에게 표시되어야 누르면

. UICollectionView가 nil이 아닌 레이아웃 매개 변수를 사용하여 도움을

감사를 초기화해야이 오류를 해결하는 방법

.

+0

: 컬렉션 뷰가 스토리 보드에 보관 유지되고있는 경우, 위의 코드가 같은 것을 읽을 것, 그래서

는 당신이 instantiateViewControllerWithIdentifier:를 사용하여 스토리 보드에서 그것을 얻을 필요 : http://stackoverflow.com/questions/15270058/console-error-uicollectionview-must-be-initialized-with-a-non-nil-layout-parame –

+0

어떻게 UICollectionView를 종합하고 있습니까? – SK9

+0

는 tableviewcontroller의 uicollectionview 속성을 IBOutlet이 아니라고 선언했습니다. – user1120133

답변

4

UICollectionView가 비 닐 레이아웃 파라미터

로 초기화해야하는 희망 자기 설명이다. UICollectionView의 지정된 초기화 프로그램은

입니다. 따라서 레이아웃 객체를 전달해야합니다. 당신은 당신이 콜렉션 뷰를 만드는 코드를 표시하지 않습니다,하지만 난 CollectionViewController 있으리라 믿고있어이 지정 initialiser 사용할 필요가있는 경우에 UICollectionViewController 서브 클래스입니다 : 당신이 init를 사용하고 현재

- (id)initWithCollectionViewLayout:(UICollectionViewLayout *)layout 

은 .

두 경우 모두 초기화 할 때 레이아웃 객체를 만들어 전달해야합니다. 어쩌면 당신은이 비슷한 질문을 살펴한다

viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"CollectionViewController"]; 
+0

Tableview 셀을 누를 때 uicollection보기를 표시하려합니다. 나는 콜렉션 뷰 컨트롤러 클래스와 스토리 보드를 uicollectionviewcontroller segue에 가지고있다. 어떻게 tableview didSelectRowAtIndexPath에서 collectionview 초기화 할 수 있습니다. 네가 그걸 보여줄 수 있다면. – user1120133

+0

내 대답을 편집했습니다. – jrturton

+0

이제 애플리케이션에서 대상 에 nil보기 컨트롤러를 밀어 넣으려고했다는 내용이 추가되었습니다. mainstoryboard를 tableviewcontroller로 가져와야합니까? – user1120133

관련 문제