1

사용자가 전체 주소를 입력 할 필요없이 검색 텍스트 필드 아래에서 선택할 수 있도록 내보기 컨트롤러에서 주소 자동 완성을 설정하려고합니다. I라는 오류가 무엇입니까Swift MapKit Autocomplete

import Foundation 
import UIKit 
import MapKit 


extension AddNewAddressViewController: MKLocalSearchCompleterDelegate { 

    func completerDidUpdateResults(_ completer: MKLocalSearchCompleter) { 
     searchResults = completer.results 
     searchResultsTableView.reloadData() 
    } 

    func completer(_ completer: MKLocalSearchCompleter, didFailWithError error: Error) { 
     // handle error 
    } 
} 

class AddNewAddressViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { 

    var searchCompleter = MKLocalSearchCompleter() 
    var searchResults = [MKLocalSearchCompletion]() 


    override func viewDidLoad() { 

     searchCompleter.delegate = self 

     searchCompleter.queryFragment = addressSearch.text! 

     searchResultsTableView.dataSource = self 

     super.viewDidLoad() 
    } 



    @IBOutlet weak var addressSearch: UITextField! 
    @IBOutlet weak var searchResultsTableView: UITableView! 


    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     let searchResultsCount = searchResults.count 
     return searchResultsCount 
    } 

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
     let searchResult = searchResults[indexPath.row] 
     let cell = UITableViewCell(style: .subtitle, reuseIdentifier: nil) 
     cell.textLabel?.text = searchResult.title 
     cell.detailTextLabel?.text = searchResult.subtitle 
     return cell 
    } 

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
    } 


    @IBAction func defaultAddressButton(_ sender: Any) { 
    } 

    @IBAction func addAddressButton(_ sender: Any) { 
    } 

} 

: 내 컨트롤러처럼 보이는 방법이있다

유형 AddNewAddressViewController 프로토콜을 준수하지 않는 '를 UITableViewDataSource'

나는 무엇을 놓치고?

미리 감사드립니다.

답변

1

당신은 신속 3.0에서 요구되는 cellForRowAtIndexPath 선언의 첫 번째 매개 변수에 대한 밑줄을 왼쪽 : 결과

func tableView(_ tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
[etc.] 

, 당신은 예상 된 서명과 일치하는 필요한 기능이 없습니다.