2016-11-06 4 views
0

secondViewController에서 firstViewController로 테이블에 문자열/데이터를 추가 할 수 있었지만 이제 사용자가 행을 삭제할 수있게하려고합니다. 어떻게 행을 삭제할 수 있습니까?NSTableView (Swift)에서 행을 삭제하는 방법

업데이트 : 그래서 여기 좀 더 자세히 : 이것은 1stVC에서 테이블을 생성하기 위해 사용하는 코드입니다.

func numberOfRows(in tableView: NSTableView) -> Int { 
    return arrayData.count 
} 

func tableView(_ tableView: NSTableView, objectValueFor tableColumn: NSTableColumn?, row: Int) -> Any? { 
    return arrayData[row] 
} 

델리게이트를 통해 2ndVC에서 데이터를 가져 오는 배열도 설정했습니다. 2ndVC에서 값은 1stVC에서 "데이터"라는 변수에 저장하고 다음과 같이 배열에 추가됩니다

arrayData.append(data!) 

가 지금은, 그 행/삽입 된 데이터를 제거 할 수있는 삭제 버튼을 넣고 싶다.

감사합니다. 1) 첫 번째 또는 두 번째보기 컨트롤러로부터 행을 삭제

+0

테이블 뷰 removeRowsAtIndexPaths:withAnimation: 전화인가? 2) 행이 첫 번째보기 컨트롤러에 추가 된 방법을 코드로 표시하고 두 번째보기 컨트롤러로 전송할 수 있습니까 (예 : 세그 등으로 완료 했습니까?) –

+0

안녕하세요! 그래서 방금 게시물을 업데이트했습니다. –

답변

3

일반적인 방법은 데이터 소스 어레이로부터 object를 제거한 다음,이 문제는 더 상세하게 필요

if let index = arrayData.index(of: object) { 
    arrayData.remove(at: index) 
    let indexSet = IndexSet(integer:index) 
    tableView.removeRows(at:indexSet, withAnimation:.effectFade) 
}