0

映画のタイトルのリストと検索機能を備えたアプリを作成しようとしています。映画のリストはテキスト ファイルを介してアペラシオンにインポートされfilterますXcode。これらの線に沿ったものですが、「AnyObject」の領域には何を入れますか

func updateSearchResultsForSearchController(searchController: UISearchController) {

    self.filteredMovies = self.arrayMovies.filter { (<#AnyObject#>) -> Bool in
        return true
    }


    self.resultsController.tableView.reloadData()
}

これらは私の変数です

var dictMovies = [String:String]()
var arrayMovies = NSMutableArray()
var searchController : UISearchController!
var resultsController = UITableViewController()
var filteredMovies = [String]()

誰かが情報を提供するのに十分な情報であることを願っています。:D

編集これは、私がarrayMoviesに保存しているものです

let path = NSBundle.mainBundle().pathForResource("movielist2", ofType: "txt")

    let filemgr = NSFileManager.defaultManager()
    if filemgr.fileExistsAtPath(path!){

        do{

            let fullText = try String(contentsOfFile: path!, encoding: NSUTF8StringEncoding)

            let readings = fullText.componentsSeparatedByString("@") as [String]

            for i in 1..<readings.count {

                let movieData = readings[i].componentsSeparatedByString("\t")

                dictMovies["MovieTitle1"] = "\(movieData[0])"
                dictMovies["MovieYear"] = "\(movieData[1])"


                arrayMovies.addObject(dictMovies)
            }

        } catch let error as NSError{
            print("Error: \(error)")
        }
    }
4

1 に答える 1

0

Predicate でそれを行うことができます:

func updateSearchResultsForSearchController(searchController: UISearchController) {
           let resultPredicate = NSPredicate(format: "name contains[c] %@", searchController.searchBar.text)
           self.filteredUserData = self.arrayMovies.filteredArrayUsingPredicate(resultPredicate)
           self.resultsController.tableView.reloadData()
    }

この助けを願っています。

于 2017-01-03T10:51:27.797 に答える