【问题标题】:Porting obj-c delegate method in Swift在 Swift 中移植 obj-c 委托方法
【发布时间】:2016-04-09 20:10:22
【问题描述】:

我如何将此可选的 obj-c 委托方法移植到 swift 中?

- (void)popupStoreEventWasEmitted:(PopupStoreController *)controller withEvent:(NSString*)eventName withPayload:(NSDictionary *)payload;

我已经尝试了 AnyObject(可选和必需)、NSDictionary、Dictionary(可选和必需)、String 和 NSString(可选和必需)等的所有可能组合。但不管它说明了什么错误:

/FastDev/Classes/TDTFinishingViewController.swift:884:14:由方法'popupStoreEventWasEmitted(:withEvent:withPayload:)'提供的Objective-C方法'popupStoreEventWasEmitted:withEvent:withPayload:'与可选要求方法'popupStoreEventWasEmitted(:协议'PopupStoreControllerDelegate'中的withEvent:withPayload:)'

有什么地方可以找到快速委托方法的外观吗?

【问题讨论】:

    标签: ios objective-c swift delegates


    【解决方案1】:

    如果您刚开始输入方法名称,Xcode 应该会自动为您完成。我明白了:

    func popupStoreEventWasEmitted(controller: PopupStoreController!,
                                   withEvent eventName: String!,
                                   withPayload payload: [NSObject : AnyObject]!)
    {
    
    }
    

    【讨论】:

    • 是的,奇怪的是我没有得到任何自动完成(这通常是我这样做的),如果我尝试在我的 Swift ViewController 中使用“import PopUpLib”进行导入,则会出现错误(但我确实在我的桥接头中导入了标头)。除此之外 - 一切正常。无论如何-这对我有用。谢谢!
    猜你喜欢
    • 2012-10-11
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多