첫 번째 Mac OS X 응용 프로그램을 만들고 있는데 문제가 있습니다.표 셀 뷰의 IBAction이 실행되지 않습니다.
NSArrayController에 연결된 내 창에서 NSTableView를 만들었으며 텍스트 필드 셀 편집을 중지 한 후 메서드를 호출하고 싶습니다.
후, 내가 만든 그것을 위해 IBAction를을 : 그래서 다음 스크린 샷에서 볼 수 있듯이, 때 최종 편집 작업을 호출 선택한
그것은 내 AppDelegate.h이 코드 생성 :
- (IBAction)stopEditingHeaderNameCell:(id)sender;
을 그리고 나는 위해 AppDelegate.m에 IBAction를 편집 셀을 편집 할 때 NSLog 메시지를 표시합니다 : I 입력 누르거나 다른 요소를 클릭하여 셀을 편집을 중지 할 때
이- (IBAction)stopEditingHeaderNameCell:(id)sender
{
NSLog(@"test");
}
그러나 아무 일도 일어나지 않습니다. 이미이 IBAction을 NSTextField에 적용하려고 시도했지만 완벽하게 작동하지만이 텍스트 필드 셀에 적용 할 때 IBAction을 호출하지 않습니다.
누구든지 해결할 수 있습니까?
감사합니다.
감사합니다. 매력적이었습니다. 이제이 함수로 보내지는 NSNotification 매개 변수 (obj)의 일부 속성을 가져 오려고합니다. [obj value]와 같은 정보를 얻으려고했지만 "- [NSConcreteNotification key] : 인스턴스로 전송 된 인식 할 수없는 selector 0x7fcf90d66150"및 "키 입력을 처리하는 동안 예외가 발생했습니다"와 같은 오류가 발생합니다. 값, 행 번호 및 내용과 같은 정보를 어떻게 잡을 수 있습니까? 그래서 내용에 따라 행의 다른 셀을 조작 할 수 있습니까? –
[obj object]는 테이블 뷰에 대한 참조를 제공하므로 [[obj object] selectedRow]를 사용하여 어떤 행이 선택되었는지 확인할 수 있습니다. 이 줄은 : [[obj.userInfo valueForKey : @ "NSFieldEditor"] string]은 새로운 문자열 값을 얻습니다. – rdelmar
NSLog (@ "% @")로 인쇄 할 때 [[obj.userInfo valueForKey : @ "NSFieldEditor"] string]이 새 내용을 성공적으로 반환하고 있지만 [[obj object] selectedRow] , [tableView selectedRow]))'. 추신 : 나는 [obj object]를'NSTableView * tableView = (NSTableView *) [obj object];를 사용하여 tableView라는 변수에 저장했다.; –