在 Objective-C 项目中导入 Swift 框架 - 错误 - 未知类型名称
Import Swift Framework in Objective-C Project - Error - Unknown Type Name
我已经为这个具体问题苦苦思索了一段时间。基本上我添加了一个框架 BigNerdRanch CoreDataStack using Carthage.
但是我在 Objective-C 代码中使用上述框架时遇到了问题。我的项目是一个 Objective-C 项目,我最近在其中添加了 Swift 代码和 Swift 框架。
到目前为止,我已经能够在我的 Swift 代码中使用 Swift 框架,没有任何问题。但是一旦我开始在我的旧 Obj-C 上使用上述 Swift 框架,特别是 AppDelegate.m,无论如何我都会不断收到编译器错误。
据我了解,我必须像这样导入它:
#import <CoreDataStack/CoreDataStack-Swift.h>
其中我在 AppDelegate.m.
我的项目也有以下设置:
Project Target Setup:
Build Settings for Swift Compilation:
我在 Whosebug 中看到了一些将 public 添加到 类 的答案。但我无法这样做,因为导入的框架是 self-contained 并且只包含 Headers 供我在 XCode 项目中看到。
感谢大家的帮助。
您添加了一个用 swift 编写的框架,如果它们不启用对 Objective C
的支持,您就不能在您的 objective c 代码中使用它。
但是,您可以在 swift 中创建一个 class,它将用作框架和您的 ObjC classes 之间的中介。
@objc class coreDataStackConvertor: NSObject {
func createStack(arg: Type) {
// Code which uses the real CoreDataStack
}
}
从你objective c classes,你可以使用转换器中的方法class。
我已经为这个具体问题苦苦思索了一段时间。基本上我添加了一个框架 BigNerdRanch CoreDataStack using Carthage.
但是我在 Objective-C 代码中使用上述框架时遇到了问题。我的项目是一个 Objective-C 项目,我最近在其中添加了 Swift 代码和 Swift 框架。
到目前为止,我已经能够在我的 Swift 代码中使用 Swift 框架,没有任何问题。但是一旦我开始在我的旧 Obj-C 上使用上述 Swift 框架,特别是 AppDelegate.m,无论如何我都会不断收到编译器错误。
据我了解,我必须像这样导入它:
#import <CoreDataStack/CoreDataStack-Swift.h>
其中我在 AppDelegate.m.
我的项目也有以下设置:
Project Target Setup:
Build Settings for Swift Compilation:
我在 Whosebug 中看到了一些将 public 添加到 类 的答案。但我无法这样做,因为导入的框架是 self-contained 并且只包含 Headers 供我在 XCode 项目中看到。
感谢大家的帮助。
您添加了一个用 swift 编写的框架,如果它们不启用对 Objective C
的支持,您就不能在您的 objective c 代码中使用它。
但是,您可以在 swift 中创建一个 class,它将用作框架和您的 ObjC classes 之间的中介。
@objc class coreDataStackConvertor: NSObject {
func createStack(arg: Type) {
// Code which uses the real CoreDataStack
}
}
从你objective c classes,你可以使用转换器中的方法class。