2015-06-17 1 views
0

Я пытаюсь реализовать поиск в моем представлении таблицы, я получил следующую ошибку. Как я собираюсь реализовать данные JSON?updateSearchResultsForSearchController JSON

var articleList: [JSON]? = [] 
var searchResults: [JSON]? = [] 

И моя функция updateSearchResultsForSearchController:

func updateSearchResultsForSearchController(searchController: UISearchController) { 
    self.searchResults?.removeAll(keepCapacity: false) 

    let searchPredicate = NSPredicate(format: "SELF CONTAINS[c] %@", searchController.searchBar.text) 

    let array = (articleList as NSArray).filteredArrayUsingPredicate(searchPredicate) 
    searchResults = array as! [String] 

    self.tableView.reloadData() 
} 

ОШИБКА:? [JSON] не конвертируется в 'NSArray'

Благодаря ...

+0

сделайте это (articleList! as NSArray) – Sandeep

+0

это тоже не работало ... –

+0

попробуйте 'articleList as! NSArray' –

ответ

0

Make (вместо броска) новый NSArray из вашего Swift массива:

let nsArticleList = NSArray(array: articleList!) 

Затем использовать:

let array = nsArticleList.filteredArrayUsingPredicate(searchPredicate) 
+0

Спасибо Эрик, я получил еще одну ошибку; Невозможно найти инициализатор для типа NSArray, который принимает список аргументов типа '(array: [JSON])' –

+0

Я вижу. Хотя я не уверен на 100%, я думаю, что это из-за типа 'JSON' внутри вашего массива Swift, похоже, что' NSArray' не знает, как создать массив NS из этого массива Swift типа 'JSON'. К сожалению, сейчас у меня нет решения для этого. – Moritz

 Смежные вопросы

  • Нет связанных вопросов^_^