NSPredicate(format:)
relies heavily on the use of printf format with strings (it automatically quotes arguments when they are inserted, etc.).
Swift string interpolation is used, so an already formatted query comes to NSPredicate
as a single string. This prevents you from doing something like voodoo with arguments, leaving you with a malformed request.
Instead, use printf formatting:
if let predicate = NSPredicate(format: "SELF CONTAINS %@", searchText) { self.listItemToBeDisplayed = (listItem as NSArray).filteredArrayUsingPredicate(predicate) (self.view.viewWithTag(1) as UITableView).reloadData() }
source share