2012-10-16 5 views
2

저는 NSDocument 앱을 보유하고 있으며 사용자가 (예 : cmd + s를 통해) 저장할 때마다 NSTextField을 사용하여 모델에 대한 현재 변경 사항을 커밋하고 싶습니다.저장하기 전에 NSTextField 변경을 적용하십시오.

바인딩을 사용하지 않고 변경 내용을 -controlTextDidEndEditing: 메서드에서 모델로 푸시합니다. [window makeFirstResponder:nil]을 호출하면 모델에 변경 사항이 적용되지만 컨트롤이 포커스를 잃게되어 실제로는 합리적인 동작이되지 않습니다.

나는 여러 사람들이 -commitEditing 메서드를 사용하도록 제안했지만 바인딩에만 적용되는 것을 보았습니다. 잘못된 것입니까?

답변

0

당신은 당신이 이미 save 행동에서 controlTextDidEndEditing:을 정의 호출 할 수 있습니다

-(IBAction)save:(id)sender 
{ 
    [self controlTextDidEndEditing: ...] 
} 

이미 쓴 동일한 코드를 실행하는 데!

+0

그렇지 않으면 작동하지 않습니다. – Jacopo

관련 문제