2014-10-17 3 views
1

UISearchController 셀에 대한 사용자 지정 스타일을 정의하려고합니다 (하지만 정의 할 수 없음). 아래 코드를 실행하면 cell.textlabel?.text 행에 EXC_BAD_INSTRUCTION 오류가 발생합니다. 나는 여기에서 완전히 명백한 것을 놓치고 있습니까?UISearchController의 사용자 지정 셀

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

    var cell = tableView.dequeueReusableCellWithIdentifier("Cell") as UITableViewCell! 
    if (cell != nil) { 
     cell = UITableViewCell(style: UITableViewCellStyle.Value1, reuseIdentifier: "Cell") 
    } 
    if (tableView == self.searchDisplayController?.searchResultsTableView) { 
     let data: AnyObject = self.searchResults.objectAtIndex(indexPath.row) as AnyObject 
     println("searchresults: \(data)") 
     cell.textLabel?.text = data.valueForKeyPath("name") as? String 
     cell.detailTextLabel?.text = data.valueForKeyPath("placemark") as? String 
    } 
    return cell 
} 
+0

"name"키가 0이 아닌지 확인 했습니까? – DaSilva

+0

데이터의 개체 유형은 무엇입니까? 그것은 빠른 유형 또는 Obj-C 유형입니까? –

+0

BTW, 5 행은'if (cell! = nil) {'이 아니라'if cell == nil {'이어야합니다. –

답변

1

"셀"이라는 식별자로 셀을 대기열에서 제외합니다. 대신, 사용자가 어떤 테이블 뷰를 사용 중인지 먼저 확인한 다음, 필요한 경우 다른 셀을 다른 식별자로 축출합니다.

+0

이것은 매력처럼 작동했습니다. 감사! 내 코드를 에 넣으면 if (tableView == self.searchDisplayController? .searchResultsTableView) 이 문제를 해결했습니다. – UncleAlfonzo