2013-02-04 2 views
0

내 사용자 정의 셀을 관찰하기 위해 옵저버 (KVO)를 추가하려고합니다. 셀을 선택하면 이벤트 알림을 받게됩니다. 내 코드 :사용자 정의 셀 관찰

[colMain addObserver:self forKeyPath:@"colMain" options:0 context:NULL]; 

} 

-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context 
{ 

    if (keyPath == @"colMain") { 
     NSLog(@"cell Selected"); 
     [self performSelector:@selector(deleteCell) withObject:nil]; 

    } 
} 

colMain는 collectionView을 의미합니다. 나는 그것이 customCell을 가지고 있지 않기 때문에 그것을하는 방법을 확실히 모르겠다 그렇지 않으면 그것을 컴파일하지 않는다. 아이디어가 있으십니까?

답변

3

왜 컬렉션보기에서 대리인을 설정하고이 두 가지 방법 중 하나를 구현하지 않는 것이 좋을까요?

[– collectionView:shouldSelectItemAtIndexPath:]

[– collectionView:didSelectItemAtIndexPath:]

+0

나는 그런 기술이 너무 아마추어입니다. KVO를 사용하기 만하면됩니다. – uml

+0

대의원을 두려워하지 마십시오. 개념에 익숙해지면 위임 프로토콜을 가장 잘 (목표 C) 친구로 사용할 수 있습니다. View Controller의 "viewDidLoad :'"메소드에서 "[colMain setDelegate : self]'"처럼 쉽게 설정할 수 있습니다. –

+0

+1, UICollectionViewDelegate는이 작업을위한 도구입니다. – geraldWilliam