5 열이있는 tableView에 바인딩 된 coredata 엔티티가 있습니다. 테이블 뷰 정렬 등을 관리하기 위해 배열 컨트롤러를 사용하고 있습니다.SWIFT 3 OSX 코코아 배열 컨트롤러 및 CoreData 바인딩 "여러 열에서 검색"
제 문제는 바인딩을 사용하여 검색하는 것입니다. ArrayController에 바인딩 된 searchField가 있고 술어 형식이 데이터의 첫 번째 열로 설정됩니다. 모든 것이 잘 작동합니다. 또한 XCODE의 술어 형식을 변경하고 다른 열을 검색 할 수 있습니다.
나는 변화가 내 코드에서 술어 형식은 사용자가 자신이 선택한 열을 검색 할 수 있도록하는 방법을 알고있다 데 문제 ...
나는 다음과 같이 ArrayController을 수정 시도 :
let predicate = NSPredicate(format: "projectNumber contains[cd] %@", searchBar.stringValue)
searchArrayController.filterPredicate = predicate
및
let predicate = NSPredicate(format: "customerName contains[cd] %@", searchBar.stringValue)
searchArrayController.filterPredicate = predicate
projectNumber 및 CUSTOMERNAME 내 개체의 속성입니다.
이 방법으로 조건부를 설정하면 테이블 데이터가 사라집니다. 검색 필드를 조작하여 다시 표시 할 수 있지만 내 조건 설정을 무시하고 XCODE 스토리 보드에서 원래 세트를 따릅니다.
스토리 보드 설정은 다음과 같습니다 술어 형식 = projectNumber는 각 열에 대해 바인딩 조건을 추가
당신이 제공 할 수있는 사전에 어떤 도움을 주셔서 감사합니다 [CD] $ 값 ...
프리디 케이트 설정은 ArrayController에 바인딩하는 searchField의 바인딩 관리자에 있음을 잊어 버리십시오. –