2013-07-22 8 views
0

할 일 목록 응용 프로그램을 만들려고합니다. 2 tablesviews 및 하나의 텍스트 필드가 있습니다. 첫 번째 tableview에는 서로 다른 프로젝트가 있으며, 그 중 하나를 클릭하면 연관된 todos가 두 번째 tableview에 나타납니다. 그것은 꽤 기본적인 마스터 디테일입니다.바인딩을 사용하여 만든 속성을 설정할 수 있습니까?

바인딩으로 모두 설정했습니다.

바로 지금 작업을 추가하는 방법은 추가 버튼을 클릭하고 편집 가능한 자리 표시 자 텍스트가있는 행을 추가하는 것입니다. 하지만 내가 원하는 것은 사용자가 텍스트 필드에 작업을 입력하고 추가를 누른 다음 이미 설정된 이름으로 할 일을 추가하는 것입니다.

그래서 기본적으로 TodoItem 클래스에 이름 속성이 있습니다. 내 질문은 nstextfield의 내용을 가져 와서 name 속성에 할당하는 방법입니다. 내가 바인딩을 사용하기 때문에,

나는 텍스트 필드에가 ToDoItem 클래스의 출구를 생성했지만, 엑스 코드는 내가 그것을 연결할 수 없습니다 ....

당신이 어떤 코드를 볼 필요가 있다면 말해

을하지만, 보여줄 것이 거의 없습니다. 감사!

답변

0

... 어떻게 nstextfield의 내용을 가져 와서 name 속성에 할당합니까?

은 오브젝티브 C에 직접 그 번역 :

NSString *contentOfTheNSTextField = [myTextField stringValue]; 
myNewTask.name = contentOfTheNSTextField; 

당신은 할 거라고 당신이 버튼을 호출 할 필드를 모두 설정 한 액션 메소드이다.

이렇게하려면 ToDoItem을가 필요 ....


나는 텍스트 필드에가 ToDoItem 클래스의 출구를 생성했지만, 엑스 코드는 내가 그것을 연결할 수 없습니다 펜촉에 있습니다.

하지만 그렇게 할 수 있더라도 모델 객체가 텍스트 필드에 대해 알고 있어야하는 이유는 무엇입니까? 모델과 뷰 사이의 값을 운반하는 것은 컨트롤러의 작업입니다.

+0

답변 해 주셔서 감사합니다. 당신이 아마 알아 낸대로, 나는 초보자입니다. 모델에서 처리하는 것에 대해, NSArraycontroller의 add : 메서드를 ovveride해야한다는 것을 의미합니까?이 작업은 내 작업을 관리합니다. – Max

+0

@Max : 일반적으로 배열 컨트롤러와 다른 객체 컨트롤러 만 남겨 둡니다. 대신 창 컨트롤러를 서브 클래 싱합니다. AC에서이 작업을 원한다면 작동하지만,'add :'가 아니라'newObject'를 오버라이드해야합니다. –

관련 문제