gpt4 book ai didi

ios - 如何使用从 Swift 到 Objective-C 的 Notification.Name 扩展?

转载 作者:技术小花猫 更新时间:2023-10-29 10:41:28 25 4
gpt4 key购买 nike

我为 Notification.Name 创建了一个扩展,如下所示:

public extension Notification.Name {
public static let blahblahblah = Notification.Name(rawValue: "blahblahblah")
}

现在我想在 Objective-C 中使用这个扩展,但即使它是公开的也无法访问。

如何在 Objective-C 和 Swift 中访问和使用这个 Swift 扩展?

以前我在 Objective-C 中使用常量值,但现在我正在升级我的代码并想使用这个扩展。

最佳答案

我在 swift 文件中的扩展

extension Notification.Name {
static let purchaseDidFinish = Notification.Name("purchaseDidFinish")
}

@objc extension NSNotification {
public static let purchaseDidFinish = Notification.Name.purchaseDidFinish
}

// OBJECTIVE-C

#import YourProjectName-Swift.h

[NSNotificationCenter.defaultCenter addObserver:self selector:@selector(purchaseDidFinish) name:NSNotification.purchaseDidFinish object:nil];

// SWIFT
NotificationCenter.default.addObserver(self, selector: #selector(purchaseDidFinish), name: .purchaseDidFinish, object: nil)

@objc func purchaseDidFinish(notification: Notification) {
print("purchaseDidFinish")
}

@leanne 的回答非常有帮助

关于ios - 如何使用从 Swift 到 Objective-C 的 Notification.Name 扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46818582/

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