我有一个 swift 项目,我在其中导入了一个 Objective-C 项目,并自动创建了桥接头。我正在尝试构建一个应用程序来预订门票。我将跨视图收集的所有数据存储在一个 swift 类对象中。
现在有很多教程在objective c 项目中使用swift 文件和在swift 项目中使用objective c 文件,但没有一个讨论两种方式的通信。
我想重用在目标 C 类中的 swift 类中创建的对象。
我一直在使用 NSUserDefaults 进行 2 路通信。
我有一个 swift 项目,我在其中导入了一个 Objective-C 项目,并自动创建了桥接头。我正在尝试构建一个应用程序来预订门票。我将跨视图收集的所有数据存储在一个 swift 类对象中。
现在有很多教程在objective c 项目中使用swift 文件和在swift 项目中使用objective c 文件,但没有一个讨论两种方式的通信。
我想重用在目标 C 类中的 swift 类中创建的对象。
我一直在使用 NSUserDefaults 进行 2 路通信。
没有必要NSUserDefaults
用作“桥梁”。ObjC 可以直接访问 swift 类,如果它们是子类的话NSObject
。
打开 Xcode 目标构建设置,在搜索字段中,输入swift
. 找到Objective-C Generated Interface Header Name
。通常,它会有一些东西Project-Swift.h
。在 ObjC 代码中导入此标头,您的 swift 类和函数将在 ObjC 中可用。
更多信息可以在官方文档中找到: https ://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html