2016-08-10 11 views
1

UITableViewUISwitch이 포함되어 있습니다. UITableView 대리인 메서드가 호출되지 않는 경우를 제외하고는 정상적으로 작동합니다. 내가이UITableView 위임자 메소드가 UIPopoverPresentationController에서 호출되지 않음

[self performSelector:@selector(reloadTblData) withObject:nil afterDelay:2.0] 

그리고 reloadTblData 같은 performSelector를 호출 할 때에만 호출 Deletgate 메소드는 비어있는 방법이다. 나는 거기에서 아무것도하지 않고있다. 그 이유는 무엇일까요?

+0

델리게이트 객체가'nil' 인 것 같습니다. –

+0

@EvgenyKarkan performSelector line – Ali

+0

코드를 작성하여 호출하는 방법. –

답변

1

대리인 유지 방법을 확인하십시오.

위임자와 데이터 소스는 약하게 참조되므로 참조가있는 View Controller가없는 경우 해당 참조 컨트롤러가 파괴 될 수 있습니다.

테이블보기가 대리인 인 View Controller의 일부인 경우 문제가 없습니다. 그러나 대리자가 별도의 개체 인 경우 실행 루프가 끝날 때 가비지 수집됩니다.