【问题标题】:how to using swift delegate with cocoa如何将 swift 委托与可可一起使用
【发布时间】:2016-01-20 00:03:56
【问题描述】:

这是我的快速代码:

import UIKit

protocol ViewDelegate {
    func ViewClicked()
}

class DetailView: NSObject {
    class func display(viewName: String){

    }
    class func show(tmpDelegate: ViewDelegate?){

    }
    class func showWith2params(viewName: String,tmpDelegate: ViewDelegate?){

    }
}

这是我的项目的一部分-Swift.h 由 XCode7.0.1 生成:

SWIFT_CLASS("_TtC15testClassMethod10DetailView")
@interface DetailView : NSObject
+ (void)display:(NSString * __nonnull)viewName;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

如何使用带有自定义委托参数的 swift 类函数?

【问题讨论】:

  • 我认为您需要在协议和类以及需要用于 objc 类的每个函数之前添加 @objc
  • @BjörnRo Ro 我试过了,但没用。但是谢谢
  • 也是协议中的func声明?
  • @BjörnRo 它有效。谢谢!关键是在协议声明前加上@objc
  • 酷,比我写这个作为一个anweser ;)

标签: ios objective-c swift bridge


【解决方案1】:

为了使函数/类在 Objective 中可见,您需要确保将 @objc 设置为相关点。

也在协议声明中:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-09
    • 2017-04-16
    • 2011-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多