2016-08-28 3 views
0

다음과 같은 방법으로 렐름 객체 목록에 필터를 수행하려고합니다.관계 객체에 스위프트 렐름 필터

내가 그 카테고리에있는 모든 회사가

지금까지
var category: Category! 
var rlmCompanies: List<Company>? 

너무 좋아 를 표시 할 수 있도록 두 객체 분류 및 회사

class Category: Object { 
    dynamic var name = "" 
    dynamic var isActive = true 
    let companies = List<Company>() 
} 

class Company: Object { 
    dynamic var name = "" 
} 

이 범주가 한 컨트롤러에서 다른 컨트롤러로 전송이, 이 목록에서 회사 목록을 볼 수 있습니다. 그러나, 나는 스위치 바를 컨트롤러의 맨 위에 추가하려고합니다. 스위치 바는 그들이 활성 상태인지 아닌지에 의해 보여지는 회사 목록을 더 필터링 할 수있게 해줍니다.

내가 노력하고 코드는 내가
rlmCompanies = category.companies.filter("ANY isActive == true") 
rlmCompanies = category.companies.filter("ANY companies.isActive == true") 
rlmCompanies = category.companies.filter("companies.isActive == true") 
rlmCompanies = rlmCompanies.filter("ANY companies.isActive == true") 
rlmCompanies = self.rlmCompanies.filter("ANY companies.isActive == true") 

을 시도 다음 사항이 시도 모두의 라인에 유사한 오류 줄 중 하나의 라인에

:

No filter candidates produce the expected contextual result type List<Company> 

그래서 나는 아이디어가 부족합니다. 목록이 초기화 된 방법과 관련이 있지만 처리 방법을 볼 수 없다는 것을 알 수 있습니다.

+0

'rlmCompanies'는 컨트롤러 클래스의 속성에 할당하고 있습니까? – bdash

+0

rlmCompanies는 컨트롤러 클래스 –

답변

0

나는, 내가 모든 반환 된 필터를 추가 한 초기 목록을 생성 할 때 결과는 다음

var rlmCompanies: Results<Company>? 

객체 내가이기 위하여 initialiser을 변경 다음과 같은 방법으로

의 코드를 변경 내가 이상적으로 ID가 가짜 일이 아니다보다는 어떤 식으로 뭔가를 가지고 싶지만 그 구문을 찾을 수 없습니다

rlmCompanies = category.companies.filter("id <> 'somethingbogus' ") 

등 목록이 아닌 결과를 반환

+0

'TRUEPREDICATE'는 모든 객체와 일치하는 술어입니다. – bdash

0

List.filter이 반환하려고했기 때문에 표시되는 오류입니다. 유형 List<T>의 변수로 변경하십시오. rlmCompanies 인스턴스 변수의 유형은 Results<Company>이어야합니다. 결국

+0

내의 변수입니다. 그렇다면 객체에서 식별되는 1 : Many의 일부인 경우 Results 유형의 변수를 선언하려면 어떻게해야합니까? 내가 var rlmCompanies로 초기화하면 : ? 결과를 얻은 다음 categories.companies로 지정하십시오. 또한 List to Results 유형을 할당 할 수 없다는 오류가 발생합니다. 객체에 정의 된대로 1 : M List의 일부인 경우 결과를 사용할 변수를 초기화하고 설정할 수 있습니까? –

+0

명확히하기 위해 때로는'rlmCompanies'를 걸러 내고 다른 시간을 걸리지 않겠습니까? 그렇다면 'TRUEPREDICATE'라는 술어로 필터링하여 결과가 필터링되지 않은'List '과 일치하는 결과 ''을 얻을 수 있습니다. – bdash

+0

네, 그게 내가 한 것. 좋아, 덕분에 술어를 연구하겠습니다. –

관련 문제