我正在撰写一些代码。
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 有没有人有任何想法可以帮我解决这个问题?
答案 0 :(得分:0)
您能告诉我们XPageViewControllerDataSource
协议包含的内容吗?
Command +在Xcode中单击它以查看实际协议。
无论哪种方式,当您查看协议时,它应该显示协议的要求是什么。