私はSwift/Xcodeを学び、ページビューコントローラを使って前後にスワイプできる3つのページを持つアプリケーションを作成しようとしています。私がUIViewControllerサブクラス、より具体的にはviewDidLoad()関数の中にある問題です。 "NameOfMyClassにはメンバーのデータソース/デリゲートがありません"と "未解決の識別子" setViewControllersが使用されているようなエラーが発生しています。私はこれを実行しようとしたとき、私は黒い画面になるだろう、と今私が原因信号15エラーに終了しますPage View Controller viewDidLoad()Issues
ここでエラーがポップアップされ、関連するコードです:。
import UIKit
class RootPageViewController: UIViewController,
UIPageViewControllerDataSource, UIPageViewControllerDelegate {
lazy var viewControllerList:[UIViewController] = {
return [self.VCInstance(name: "MissionOne"),
self.VCInstance(name: "MissionTwo"),
self.VCInstance(name: "MissionThree")]
}()
private func VCInstance(name: String) -> UIViewController {
return UIStoryboard(name: "Main", bundle:
nil).instantiateViewController(withIdentifier: name)
}
override func viewDidLoad() {
super.viewDidLoad()
self.dataSource = self //...has no member 'dataSource' error
self.delegate = self //...has no member 'delegate' error
if let MissionOne = viewControllerList.first {
setViewControllers([MissionOne], direction: .forward, animated:
true, completion: nil)
//use of unresolved indentifier 'setViewControllers' error
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
他の問題は、私が持っているのは関連しているかもしれませんが、ページビューコントローラがストーリーボードのカスタムクラスとして設定するクラスファイルを受け入れる/認識しないということです。
事前に洞察力や提案をお寄せいただきありがとうございます。
確かに修正されました。ありがとう! –