UITableView를 관리하는 데 사용하려고하는 사용자 지정 UITableViewController가 있습니다. jQuery과를 포함하는 주요 UIViewController에 내 코드의 흐름은 아래와 같이 진행됩니다ObjC 클래스 메서드가 호출되지 않습니다. GDB 게임?
_messagesTableVC = [[AllMessagesTableViewController alloc] init];
_allMessageTableView.dataSource = _messagesTableVC;
_allMessageTableView.delegate = _messagesTableVC;
[_allMessageTableView reloadData];
AllMessagesTableViewController
사용자 정의있는 UITableViewController 클래스, 그것은 어떤 처리가 필요 않습니다 초기화 나에 _allMessageTableView
(jQuery과)의 대표를 설정 내 커스텀 클래스.
이 코드를 실행할 때 사용자 지정 클래스가 없지만 오류가없는 것처럼 프로그램이 작동합니다. 그것은 커스텀 클래스의 아무 메소드도 호출되지 않기 때문에, init, initWithCoder, 아무 것도 (나는 breakpoint를 설정하고 체크했다;)).
아래 스크린 샷에서 볼 수 있듯이 YES
을 반환하도록 설정 한 맞춤 클래스에 맞춤법 refreshData
을 입력 한 다음 중단 점을 설정했습니다. refreshData
의 반환 값을 로컬 변수 test
에 할당합니다. 디버거에서
_messagesTableVC
사용자 정의 클래스는 전무로 표시되지 않습니다.test
이 존재하지 않습니다.- 여기에 표시되지 않지만 디버거에서
[_messagesTableVC refreshData]
을 실행하려고하면error: Execution was interrupted, reason: Attempted to dereference an invalid ObjC Object or send it an unrecognized selector. The process has been returned to the state before expression evaluation.
이라고 표시됩니다. 그래서_messagesTableVC
실제로 nil입니까 ?? 이러한 문제의 원인이 될 수 또는 GDB는 게임을 무엇
? 이는 차이를 만드는 경우 메시지 앱 확장입니다. 감사.
업데이트 : 빈 작업 프로젝트를 생성하고 있기 때문에 (내 원래 프로젝트에 정확한 파일을 붙여 복사 다음은 사용자 정의 클래스의 초기화 및 refreshData
- (instancetype)init {
self = [super init];
if (!self)
return nil;
return self;
}
- (BOOL)refreshData {
return YES;
}
갱신 2의 코드는 큰 iOS 앱의 iMessage 확장). Xcode는 프로젝트를 정리하고 UITableView 대리인을 변경하여 다른 텍스트를 제공 한 후에도 응용 프로그램의 이전 빌드를 실행하고있는 것으로 나타났습니다.
'-refreshData'에 대한 코드를 게시 할 수 있습니까? 그리고 AllMessagesTableViewController의'-init' 메쏘드가 적중되지 않았습니까? 아니면 당신이 의미하는 것이 아닌가요? –
또한 사이드 노트, GDB가 아니라 디버거로 LLDB를 사용하고있는 것처럼 보입니다 (단, IMO와 관련이 없습니다). –
@AO'init'과'refreshData' 메소드를 포함하도록 제 질문을 업데이트했습니다. 네, 간단한'init'과'refreshData' 메소드를 만들지 만 이상한 것은 아무것도 실행하지 않습니다. 올바른 파일을 가져 오는 중임을 확인했습니다. – AnsonL