【问题标题】:Object C, Public Functions and Classes对象 C、公共函数和类
【发布时间】:2017-07-21 19:32:10
【问题描述】:

Objective C 的新手,一直在开发一些 Swift,将一些可重用的文件转换为可导入的框架。对于 swift,我主要只需要公开类和一些函数,以便在作为框架导入时可以访问它们,这在目标 C 中是如何实现的? (以及完成后如何处理桥接文件)谢谢!

【问题讨论】:

    标签: objective-c frameworks


    【解决方案1】:

    在 Objective-C 中,您通常在 .h 文件中定义 @interface,并在该 .h 文件中包含所有公共方法和属性。然后为了在你的框架中公开这些,你 #include 伞头文件中的那个 .h 文件。或者,如果将它包含在 Swift 项目中,您将在桥接头中导入该 .h 文件。

    在 .m 文件的私有类扩展中定义任何私有属性或 ivars。这样可以防止它们暴露在 .h 文件中。

    【讨论】:

    • 感谢您的评论!这如何适用于@implementation?如果 obj-c 文件被导入和桥接,那么在 swift 文件中定义的类及其方法是否可以访问?还是我需要以某种方式公开声明它?这些方法在 h 文件中公开,因此我相信使用框架的项目应该可以访问它们。
    • 如果您不是在谈论框架,而只是在谈论混合语言项目,那么 .h 文件实际上您的 Objective-C 代码的公共接口。因此,只需在您的桥接头中添加#import,这些将在该项目中暴露给 Swift 代码。有一些限制(例如,如果你有可变参数方法),但这基本上就是它的工作原理。有关详细信息,请参阅Swift and Objective-C in the Same Project
    猜你喜欢
    • 1970-01-01
    • 2012-08-25
    • 2014-03-21
    • 2012-11-10
    • 2015-02-28
    • 2017-10-11
    • 1970-01-01
    • 2010-12-13
    • 1970-01-01
    相关资源
    最近更新 更多