gpt4 book ai didi

ios - Swift 泛型变量

转载 作者:行者123 更新时间:2023-11-28 07:15:27 25 4
gpt4 key购买 nike

我有一个协议(protocol),我想要一个 UIViewController 类型的变量来实现 mu 协议(protocol)。如果我尝试做类似的事情:

var delegate:UIViewController<BouncingMenuDelegate>?

我收到 UIViewController 是非泛型类型的错误。那么问题是如何访问我们在 Objective-C 中用于访问委托(delegate)的模型?提前致谢!

最佳答案

你不能像在 Swift 中那样声明变量类型。

解决问题的最简单方法是将 UIViewController 方法/属性添加到 BouncingMenuDelegate 要求中:

@objc protocol BouncingMenuDelegate {
// Delegate methods
func boudcingMenu(bouncingMenu:BouncingMenu, didSelectItemAtIndex index:Int)

// required methods/properties from UIViewController
var view:UIView { get }
var navigationController:UINavigationController? { get }
func presentViewController(viewControllerToPresent: UIViewController, animated flag: Bool, completion: (() -> Void)?)
}

class BouncingMenu:UIView {
weak var delegate:BouningMenuDelegate?
}

关于ios - Swift 泛型变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26443153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com