48112


UITableViewControllerを使ってcellが選択された時にPlayBackViewController(UIViewController)へsegueしたいのですがprepare(for
segue:で  
let myIndexPath = self.tableView.indexPathForSelectedRow  
とすると以下のエラーが出ます。（添付コードの下から5行目）  
Ambiguous reference to member 'tableView(_:numberOfRowsInSection:)  
だれかお知恵をお貸しください。

* * *
[code]

    import UIKit
    
    class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource {
    
        @IBOutlet weak var tableVIew: UITableView!
    
        let voiceTextArray = ["11111","222222","333333","444444","55555"]
        let dateTimeArray = ["dateTime1","dateTime2","dateTime3","dateTime4","dateTime5"]
    
        override func viewDidLoad() {
            super.viewDidLoad()
    
            tableVIew.delegate = self
            tableVIew.dataSource = self
        }
    
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
        }
    
        func numberOfSections(in tableView: UITableView) -> Int {
            return 1
        }
    
        func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
            return voiceTextArray.count
        }
    
        func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    
            let cell = tableVIew.dequeueReusableCell(withIdentifier: "protoCell")as! ProtoTableViewCell
            cell.voiceTextLable.text = voiceTextArray[indexPath.row]
            cell.dateTimeLabel.text = dateTimeArray[indexPath.row]
            return cell
        }
    
       override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
            if segue.identifier == "ShowPlayBackView" {
                let detailViewController = segue.destination as! PlayBackViewController
    
                //  ERROR :Ambiguous reference to member 'tableView(_:numberOfRowsInSection:)'
                let myIndexPath = self.tableView.indexPathForSelectedRow
                detailViewController.voiceText = voiceTextArray[myIndexPath.row]
            }
        }
    }
    
[/code]


CC BY-SA 4.0
2018-09-05T06:12:11.290
48106
2018-09-05T07:56:06.620
2018-09-05T07:01:34.907
3060
21142
question
swift ios xcode swift4
UITableViewControllerを使ってsegueする時にindexPathForSelectedRowが参照できない

[code]

    @IBOutlet weak var tableVIew: UITableView!
    
[/code]

は

[code]

    @IBOutlet weak var tableView: UITableView!
    
[/code]

ですね。  
tableViewのiが大文字になっています。

参考元：  
<https://stackoverflow.com/questions/40164244/ambiguous-reference-to-member-
tableview-numberofrowsinsection-why-this-err>

■追記  
この場合、

[code]

    let myIndexPath = self.tableView.indexPathForSelectedRow
    
[/code]

を

[code]

    let myIndexPath = self.tableVIew.indexPathForSelectedRow
    
[/code]

にした方がいいかもしれません。


CC BY-SA 4.0
2018-09-05T07:49:16.960
48112
2018-09-05T07:56:06.620
2018-09-05T07:56:06.620
17014
17014
48106
answer