gpt4 book ai didi

ios - 将 Swift 内部函数暴露给 Objective-C 文件(在框架中)而不公开

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

我有一个 Swift 框架,其中有一个 Objective-C 文件。我想从该文件访问一个声明为内部的方法。我知道我可以将其更改为公开以使其可用。但我不想将其暴露给客户端应用程序。有什么办法可以实现这一点吗?

在 .swift 中:

@objc internal class func callBack(str: String) {
print("Swift method was called | Passed value: " + str)
}

以 .m 为单位:

- (void)callSwiftFunc {
// This is not available, only if I set public in Swift
[SwiftClass callBackWithStr:@"blabla"];
}

最佳答案

您可以显式设置 objc 选择器,然后添加声明该方法的类别:

@objc 替换为 @objc(callBackWithStr:),然后只需添加一个前向声明:

@interface SwiftClass ()
+ (void)callBackWithStr:(NSString *)string;
@end

关于ios - 将 Swift 内部函数暴露给 Objective-C 文件(在框架中)而不公开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50488043/

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