storyboardの画像です
MenuViewControllerにあるサイドメニューからいくつかあるブラウザを選択しFirstViewControllerにあるWKWebViewに表示させたいです。
問題点はサイドメニュー内にあるセルをタップしたときに対応する値を配列から取得しWKWebViewに表示するところで困っています。コード内の//セルが選択された時と//Segue 準備のところで
Method does not override any method from its superclass
Ambiguous reference to member 'tableView(_:numberOfRowsInSection:)'
Use of unresolved identifier 'array'
の三つのエラーが出て困っています。
教えていただけたら嬉しいです。どうかよろしくお願いします。
MenuViewController
1import UIKit 2 3class MenuViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { 4 5 var strArray = ["Youtube","Buzzvideo","Instagram","Twitter","ニコニコ動画","FC2動画","Google"] 6 var counter = 0 7 @IBOutlet weak var menuView: UITableView! 8 @IBAction func Youtube(_ sender: UIButton) 9 { 10 counter = counter + 1 11 print(counter) 12 13 if counter == 2{ 14 self.performSegue(withIdentifier: "goFirstSegue", sender: nil) 15 counter = 0 16 } 17 // 遷移するViewを定義する.このas!はswift1.2では as?だったかと。 18 let FirstViewController: FirstViewController = self.storyboard?.instantiateViewController(withIdentifier: "goFirstViewSegue") as! FirstViewController 19 // Viewの移動する. 20 self.MenutViewController(MenuViewController, animated: true, completion: nil) 21 } 22 23 @IBAction func Buzzvideo(_ sender: UIButton) 24 { 25 counter = counter + 1 26 print(counter) 27 28 if counter == 2{ 29 self.performSegue(withIdentifier: "goFirstSegue2", sender: nil) 30 counter = 0 31 } 32 } 33 @IBAction func Instagram(_ sender: UIButton) 34 { 35 counter = counter + 1 36 print(counter) 37 38 if counter == 2{ 39 self.performSegue(withIdentifier: "goFirstSegue3", sender: nil) 40 counter = 0 41 } 42 } 43 @IBAction func Twitter(_ sender: UIButton) 44 { 45 counter = counter + 1 46 print(counter) 47 48 if counter == 2{ 49 self.performSegue(withIdentifier: "goFirstSegue4", sender: nil) 50 counter = 0 51 } 52 } 53 @IBAction func niconico(_ sender: UIButton) 54 { 55 counter = counter + 1 56 print(counter) 57 58 if counter == 2{ 59 self.performSegue(withIdentifier: "goFirstSegue5", sender: nil) 60 counter = 0 61 } 62 } 63 64 65 override func viewDidLoad() { 66 super.viewDidLoad() 67 68 menuView.delegate = self 69 menuView.dataSource = self 70 71 self.performSegue(withIdentifier: "goFirstViewSegue", sender: nil) 72 } 73 override func prepare(for segue: UIStoryboardSegue, sender: Any?) 74 { 75 if (segue.identifier == "goFirstViewSegue"){} 76 } 77 78 //セルが選択された時 79 func manuView(table: UITableView, didSelectRowAtIndexPath indexPath:NSIndexPath) { 80 self.performSegue(withIdentifier: "goFirstViewSegue",sender: nil) 81 } 82 83 func menuView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) 84 { 85 let cell = menuView.cellForRow(at: indexPath) 86 let indicator = cell?.contentView.viewWithTag(1) as! UIActivityIndicatorView 87 indicator.startAnimating() 88 89 } 90 91 override func didReceiveMemoryWarning() { 92 super.didReceiveMemoryWarning() 93 // Dispose of any resources that can be recreated. 94 } 95 96 override func viewWillAppear(_ animated: Bool) 97 { 98 super.viewWillAppear(animated) 99 100 let menuPos = self.menuView.layer.position 101 self.menuView.layer.position.x = -self.menuView.frame.width 102 UIView.animate( 103 withDuration: 0.5, 104 delay: 0, 105 options: .curveEaseOut, 106 animations: { 107 self.menuView.layer.position.x = menuPos.x 108 }, 109 completion: { bool in}) 110 } 111 112 override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) 113 { 114 super.touchesEnded(touches, with: event) 115 for touch in touches 116 { 117 if touch.view?.tag == 1 118 { 119 UIView.animate(withDuration: 0.2, 120 delay: 0, 121 options: .curveEaseIn, 122 animations: 123 { 124 self.menuView.layer.position.x = -self.menuView.frame.width 125 }, 126 completion: 127 { 128 bool in self.dismiss(animated: true, completion: nil) 129 } 130 ) 131 } 132 } 133 } 134 135 //追加③ セルの個数を指定するデリゲートメソッド(必須) 136 func tableView(_ menuView: UITableView, numberOfRowsInSection section: Int) -> Int { 137 return strArray.count 138 } 139 140 //追加④ セルに値を設定するデータソースメソッド(必須) 141 func tableView(_ menuView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 142 // セルを取得する 143 let cell: UITableViewCell = menuView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) 144 // セルに表示する値を設定する 145 cell.textLabel!.text = strArray[indexPath.row] 146 return cell 147 } 148} 149 150 151
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/25 04:10
退会済みユーザー
2018/08/25 05:50 編集
2018/08/25 06:16
退会済みユーザー
2018/08/25 06:28