여러 개의 조건을 선택적으로 적용하는 NSPredicate를 작성하는 방법


let predicateNotebookId = NSPredicate(format: "relatedNotebookId = %@", NSNumber(value: self.selectedNoteBookId)) // basic NSPredicate

 var predicateList = [NSPredicate]()//여러 조건을 추가할 list

  predicateList.append(predicateNotebookId)


   if(self.searchText_ != "")//추가 조건 #1

   {

             let predicateSearch = NSPredicate(format: "title contains %@ OR content contains %@", self.searchText_, self.searchText_)

predicateList.append(predicateSearch)

 }

        

  if(self.button_searchByAlarm.isSelected == true)//추가 조건 #2

   {

            let predicateAlarm = NSPredicate(format: "alarmDate != nil ")

            predicateList.append(predicateAlarm)

    }

        

    let andPredicate:NSCompoundPredicate = NSCompoundPredicate(type: .and, subpredicates: predicateList)

여러 조건을 적용하여  사용한다.



by 무위자연 2019. 1. 12. 10:12