2017-05-17 5 views
0

NSTableView에 바인딩 된 NSArrayController가 있고 데이터 소스가 Array입니다. 배열 및 NSTableView 개체를 제거하려면 제거 할 수없는 것.NSArrrayController에서 객체를 제거하는 방법

내가이 (가) NSTableView는에서 개체를 삭제하려면 다음을 사용할 수 있지만,이 데이터 소스 어레이에서 제거되지 않았거나 NSArrayController

projectsTable.removeRows(at: [projectsTable.selectedRow], withAnimation:.effectFade) 

나는 또한없는 성공으로 NSArrayController에 제거 다음 명령을 시도했습니다.

let prjremove = projectsArrayControler.selectedObjects 
let didRemove =projectsArrayControler.removeSelectedObjects(prjremove!) 

removeSelectedObjects 사실 반환하지만 디버그보기는 ArrayController의 개체 수를 변경하지 보여주고 NSTableView는에 변화가 없다.

NSTableView에서 개체 또는 행을 삭제하면 데이터 원본 배열에서 개체가 삭제된다는 가정하에 작동하고있었습니다. 분명히 그것이 맞지 않습니다.

지혜의 말씀을 높이 평가합니다.

답변

0

removeSelectedObjects : 선택이 변경된 경우

수신기의 현재 선택의 개체, YES 복귀를 제거합니다.

"수신기의 현재 선택에서 개체 제거"는 개체가 선택 취소되었음을 의미합니다.

사용 func remove(contentsOf objects: [Any]) :

수신기의 내용 컬렉션에서 개체를 제거합니다.

또는 func remove(_ sender: Any?) :

콘텐츠 컬렉션 수신기의 선택된 개체를 제거합니다.

+0

설명해 주셔서 감사합니다. remove (_ 보낸 사람 : Any?)를 사용하면 문제가 없습니다. – svjim

관련 문제