Swift appdelegate错误 - appdelegate不会向协议确认

时间:2016-09-02 02:59:58

标签: swift appdelegate swift-protocols

我正在撰写一些代码。

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, XPageViewControllerDataSource {

var window: UIWindow?


func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // Override point for customization after application launch.
    self.window = UIWindow(frame: UIScreen.mainScreen().bounds)


    let pageVeiwController = XPageviewcontroller()
    pageVeiwController.dataSource = self

    self.window?.rootViewController = UINavigationController(rootViewController: pageVeiwController)
    self.window?.makeKeyAndVisible()

    return true
}
func XPageNumberOfControllers() -> NSInteger {
    return 5
}
func XPageControllersTitle(index: NSInteger) -> String {
    return "ViewController"+"title"+String(index)
}
func XPageWillShowController(index: NSInteger) -> UIViewController {
    let vc = ViewController()
    return vc
}


}

我在Xcode中编写了一个没有mainstoryboard的纯编码程序, 这是我的appdelegate.swift,我尝试从我的XPageViewController.swift实现协议,协议中有3个函数,我已经在appdelegate中编写了。我也在XPageViewController.swift

中声明了
var dataSource:XPageViewControllerDataSource!
    {
    didSet{
        self.numberOfControllers = self.dataSource.XPageNumberOfController()
        self.addViewToSelf()
    }

在appdelegate中使用

    pageVeiwController.dataSource = self

但仍然出现错误, 显示" Type' AppDelegate'不符合协议' XPageViewControllerDataSource'"

我几乎用完了解决方案:D 有没有人有任何想法可以帮我解决这个问题?

1 个答案:

答案 0 :(得分:0)

您能告诉我们XPageViewControllerDataSource协议包含的内容吗?

Command +在Xcode中单击它以查看实际协议。

无论哪种方式,当您查看协议时,它应该显示协议的要求是什么。