Tableview 검색 창에 데이터가 표시되지 않고 실행할 때 오류가 발생하는 경우

user5513630

빠른 2.0을 사용하고 있습니다. 그리고 테이블보기에 검색 창을 추가했습니다. 나는 두 번 뛰었고 잘 작동했습니다. 하지만 이제 내 코드에서 오류를 표시합니다.

Cannot invoke 'filter' with an argument list of type '(@noescape (Element) throws -> Bool)'

실행하려고하면 테이블보기 데이터를 검색 할 수 없습니다.

내 전체 코드는 다음과 같습니다.

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, UISearchBarDelegate

{

    var Table:NSArray = []

  @IBOutlet weak var searchBar: UISearchBar!
    var searchActive : Bool = false
     var filtered:[String] = []


    @IBOutlet weak var tableView: UITableView!   // UITable view declaration

    @IBOutlet weak var Resultcount: UILabel!     // count label

    let cellSpacingHeight: CGFloat = 5  // cell spacing from each cell in table view




    var filteredTableData = [String]()
    var resultSearchController = UISearchController()

    override func viewDidLoad() {


        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

       CallWebService() // call the json method


        // nib for custom cell (table view)
        let nib = UINib(nibName:"customCell", bundle: nil)
        tableView.registerNib(nib, forCellReuseIdentifier: "cell")


        searchBar.delegate = self

    }

    func searchBarTextDidBeginEditing(searchBar: UISearchBar) {
        searchActive = true;
    }

    func searchBarTextDidEndEditing(searchBar: UISearchBar) {
        searchActive = false;
    }

    func searchBarCancelButtonClicked(searchBar: UISearchBar) {
        searchActive = false;
    }

    func searchBarSearchButtonClicked(searchBar: UISearchBar) {
        searchActive = false;
    }

    func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {

        filtered = Table.filter({ (text) -> Bool in
            let tmp: NSString = text as! NSString
            let range = tmp.rangeOfString(searchText, options: NSStringCompareOptions.CaseInsensitiveSearch)
            return range.location != NSNotFound
        })
        if(filtered.count == 0){
            searchActive = false;
        } else {
            searchActive = true;
        }
        self.tableView.reloadData()
    }



    // every time app quit and run, switch will be in off state
    override func viewWillDisappear(animated: Bool) {
        super.viewWillDisappear(true)
        NSUserDefaults.standardUserDefaults().setBool(false, forKey: "PremiumUser")

    }





    func CallWebService()
    {
        let UrlApi = "url"
        let Url = NSURL(string: UrlApi)
        let Session = NSURLSession.sharedSession()
        let Work = Session.dataTaskWithURL(Url!, completionHandler: { dataTask, response, error -> Void in
            if (error != nil)
            {
                print(error)
            }
            var datos:NSData = NSData(data: dataTask!)

            do {


                let JsonWithDatos:AnyObject! = try NSJSONSerialization.JSONObjectWithData(datos, options: NSJSONReadingOptions.MutableContainers) as! NSArray


                self.Table = JsonWithDatos as! NSArray


                dispatch_async(dispatch_get_main_queue()) {



                    if (self.Table.count>0)
                    {
                        self.Resultcount.text = "\(self.Table.count) Results"
                        self.tableView.reloadData()
                    }


                }
            }catch{
                print("Some error occured")
            }


        })

        Work.resume()
    }




    // number of sections
    func numberOfSectionsInTableView(tableView: UITableView) -> Int {
       return 1
    }
    // number of rows
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {



        if(searchActive) {
            return filtered.count
        }
       return self.Table.count
    }







        func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {



        let cell:customCell = self.tableView.dequeueReusableCellWithIdentifier("cell") as! customCell 
            if(searchActive){
               cell.vendorName.text = filtered[indexPath.row]
            } else {
                cell.vendorName.text = Table[indexPath.row] as! String;
            }

            let item = self.Table[indexPath.row] as! [String : String]
             cell.vendorName.text = item["name"]
            cell.vendorAddress.text = item["address"]


        return cell 
    }




}

func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {이 줄 에서이 방법 오류가 있습니다.filtered = Table.filter({ (text) -> Bool in let tmp: NSString = text as! NSString let range = tmp.rangeOfString(searchText, options: NSStringCompareOptions.CaseInsensitiveSearch) return range.location != NSNotFound })

한 번 작동하는 이유는 그 시간에도 내 테이블보기에서 검색 할 수 없습니다. 이제 갑자기이 오류가 발생합니다.

탈하 구스

테이블보기에서 검색 컨트롤러를 구현했습니다. 검색된 데이터를 필터링하고 일치하는 문자열로 배열을 만드는 기능을 제공합니다.

func filterDestinations(searchString: String){
    self.filteredDestinations.removeAll()
    if(self.defaultarray.count > 0){
        for obj in self.sortedDest{
            if(obj.name!.rangeOfString(searchString, options: .CaseInsensitiveSearch, range: nil, locale: nil) != nil){
                self.filteredDestinations.append(obj)
            }
        }
    }    
}// ends filterDestinations

그 후 테이블 뷰를 다시로드하고 cellforrowatindex 함수에서 검색 컨트롤러가 활성화되어 있는지 확인하고 채운 배열에서 데이터를 제공하지 않으면 기본 배열을 사용하는지 확인합니다. 또한 검색 컨트롤러가 활성화되어 있는지 확인하여 행 수를 설정해야합니다. 활성화 된 경우 채워진 배열 수를 반환하고 그렇지 않으면 기본 배열 수를 반환하여 앱이 충돌하지 않도록합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

JavaFX : cellfactory를 사용하려고 할 때 tableview의 열에 데이터가 표시되지 않습니다.

분류에서Dev

데이터베이스에서 검색하려고 할 때 오류가 발생했습니다.

분류에서Dev

Ruby On Rails 애플리케이션에서 데이터베이스에 저장된 이미지를 검색하려고 할 때 오류가 발생합니다.

분류에서Dev

sqlite에서 데이터를 검색 할 때 이러한 테이블 <테이블 이름> 오류가 발생하지 않습니까? (Python 3.x)

분류에서Dev

pastespecial 메서드가 때때로 오류 1004를 발생시키고 다른 경우에는 발생하지 않는 이유는 무엇입니까?

분류에서Dev

PHP 검색 창에 데이터가 표시되지 않음

분류에서Dev

이 코드를 버튼에 첨부 할 때 코드가 실행되지 않고 "object 'Range'failed"오류가 계속 발생하는 이유는 무엇입니까?

분류에서Dev

RMarkdown을 HTML로 편직 할 때 발생하는 오류 (HTML에 그래프가 표시되지 않음)

분류에서Dev

PHP에서 오류가 발생할 때 웹 사이트에 경고를 표시하는 방법

분류에서Dev

내 데이터베이스에서 게시물을 검색 할 때 오류가 발생했습니다.

분류에서Dev

경고가 표시되지 않는 경우 기능 실행

분류에서Dev

Crystal 보고서에 이미지를 표시 할 때 배경 텍스트가 검정색 인 경우

분류에서Dev

데이터 유효성 검사 및 데이터가 유효하지 않은 경우 오류 메시지 표시

분류에서Dev

부트 스트랩이 서버에서 실행되는 경우 오류가 발생하지만 파일에서 실행되는 경우 오류가 없음

분류에서Dev

시를 쓰고 같은 함수를 재사용 할 때 오류가 발생하는 경우-Python

분류에서Dev

yii2에서 "검색"을 수행 할 때 표시되는 행은 변경되지 않습니다.

분류에서Dev

Lifx API를 호출하고 한 경우에는 오류가 발생하지만 다른 경우에는 오류가 발생하지 않습니다.

분류에서Dev

순서가 지정되지 않은 맵에 고유 포인터를 삽입 할 때 C ++에서 오류가 발생하는 이유는 무엇입니까?

분류에서Dev

드롭 다운에서 State가 선택되지 않은 경우 자동 완성이 실행될 때 오류 메시지 표시

분류에서Dev

사용자가 업로드하고 검색 결과 목록에 Youtube를 삽입 할 때 갑자기 제목과 재생 목록이 표시되지 않음

분류에서Dev

TableViewCell이 표시되지 않을 때 CABasicAnimation, textColor가있는 tableView에서 충돌이 발생합니다.

분류에서Dev

오버레이에 불투명도가있는 검은 색 배경이있는 경우 검은 색이 표시되지 않습니다.

분류에서Dev

함수가 n 초 이상 실행되는 경우 오류를 발생시키고 포착하는 방법

분류에서Dev

MySQL 데이터베이스에 연결하려고 할 때 PHP가 실행되지 않음

분류에서Dev

텍스트 파일에서 작동하지 않고 오류가 발생하지 않는 단어 검색

분류에서Dev

오류가 발생하고 실행되지 않는 클래스?

분류에서Dev

Firebase 실시간 데이터베이스에서 데이터를 검색 할 수없는 경우 UITableView에 메시지를 표시하려고합니다.

분류에서Dev

고유 필드 오류가 발생할 때 Django에서 데이터를 업데이트하는 방법

분류에서Dev

Linux에서 간단한 puppeteer 스크립트를 실행할 때 "브라우저가 다운로드되지 않았습니다"라는 오류가 발생하는 이유는 무엇입니까?

Related 관련 기사

  1. 1

    JavaFX : cellfactory를 사용하려고 할 때 tableview의 열에 데이터가 표시되지 않습니다.

  2. 2

    데이터베이스에서 검색하려고 할 때 오류가 발생했습니다.

  3. 3

    Ruby On Rails 애플리케이션에서 데이터베이스에 저장된 이미지를 검색하려고 할 때 오류가 발생합니다.

  4. 4

    sqlite에서 데이터를 검색 할 때 이러한 테이블 <테이블 이름> 오류가 발생하지 않습니까? (Python 3.x)

  5. 5

    pastespecial 메서드가 때때로 오류 1004를 발생시키고 다른 경우에는 발생하지 않는 이유는 무엇입니까?

  6. 6

    PHP 검색 창에 데이터가 표시되지 않음

  7. 7

    이 코드를 버튼에 첨부 할 때 코드가 실행되지 않고 "object 'Range'failed"오류가 계속 발생하는 이유는 무엇입니까?

  8. 8

    RMarkdown을 HTML로 편직 할 때 발생하는 오류 (HTML에 그래프가 표시되지 않음)

  9. 9

    PHP에서 오류가 발생할 때 웹 사이트에 경고를 표시하는 방법

  10. 10

    내 데이터베이스에서 게시물을 검색 할 때 오류가 발생했습니다.

  11. 11

    경고가 표시되지 않는 경우 기능 실행

  12. 12

    Crystal 보고서에 이미지를 표시 할 때 배경 텍스트가 검정색 인 경우

  13. 13

    데이터 유효성 검사 및 데이터가 유효하지 않은 경우 오류 메시지 표시

  14. 14

    부트 스트랩이 서버에서 실행되는 경우 오류가 발생하지만 파일에서 실행되는 경우 오류가 없음

  15. 15

    시를 쓰고 같은 함수를 재사용 할 때 오류가 발생하는 경우-Python

  16. 16

    yii2에서 "검색"을 수행 할 때 표시되는 행은 변경되지 않습니다.

  17. 17

    Lifx API를 호출하고 한 경우에는 오류가 발생하지만 다른 경우에는 오류가 발생하지 않습니다.

  18. 18

    순서가 지정되지 않은 맵에 고유 포인터를 삽입 할 때 C ++에서 오류가 발생하는 이유는 무엇입니까?

  19. 19

    드롭 다운에서 State가 선택되지 않은 경우 자동 완성이 실행될 때 오류 메시지 표시

  20. 20

    사용자가 업로드하고 검색 결과 목록에 Youtube를 삽입 할 때 갑자기 제목과 재생 목록이 표시되지 않음

  21. 21

    TableViewCell이 표시되지 않을 때 CABasicAnimation, textColor가있는 tableView에서 충돌이 발생합니다.

  22. 22

    오버레이에 불투명도가있는 검은 색 배경이있는 경우 검은 색이 표시되지 않습니다.

  23. 23

    함수가 n 초 이상 실행되는 경우 오류를 발생시키고 포착하는 방법

  24. 24

    MySQL 데이터베이스에 연결하려고 할 때 PHP가 실행되지 않음

  25. 25

    텍스트 파일에서 작동하지 않고 오류가 발생하지 않는 단어 검색

  26. 26

    오류가 발생하고 실행되지 않는 클래스?

  27. 27

    Firebase 실시간 데이터베이스에서 데이터를 검색 할 수없는 경우 UITableView에 메시지를 표시하려고합니다.

  28. 28

    고유 필드 오류가 발생할 때 Django에서 데이터를 업데이트하는 방법

  29. 29

    Linux에서 간단한 puppeteer 스크립트를 실행할 때 "브라우저가 다운로드되지 않았습니다"라는 오류가 발생하는 이유는 무엇입니까?

뜨겁다태그

보관