我在iOS上有一个Objective-C应用程序,如何构建SwiftWatch扩展?

时间:2015-04-11 00:42:15

标签: ios objective-c swift apple-watch

我正在更新一个旧的Objective-C应用程序,以包含一个用Swift编写的WatchExtension。

我确定要更改嵌入式内容包含Swift Code默认值: enter image description here

我有以下头文件:

#import <Foundation/Foundation.h>

@interface Elements : NSObject
// designated initializer
-(instancetype)initWithElement:(NSString *)atom
                     AndNumber:(NSNumber *)number;
+(NSDictionary *) elementInfo;
+(NSArray *) atomArray;
@property (strong, nonatomic) NSNumber *mass;
@property (strong, nonatomic) NSString *name;
@property (strong, nonatomic) NSString *ChemicalName;
@end

如何在SwiftWatch扩展程序中使用上述Elements对象?

现在我有以下错误:

enter image description here

2 个答案:

答案 0 :(得分:5)

您需要有一个桥头文件(Xcode会在您第一次尝试将obj-c与swift混合时请求为您创建它)。如果你没有让Xcode为你创建它,你将不得不自己创建它,然后去构建所有目标的设置并在swift编译器下设置 - &gt;代码生成 - &gt;添加到&#39; Objective-C桥接标题&#39;:Bridging-Header-FileName.h。标头准备就绪后,导入您需要在Swift中访问的所有Obj-C标头。

答案 1 :(得分:0)

要在Swift代码中使用Objective-C代码,您需要在项目中添加Objective-C Bridging Header。

Using Swift with Cocoa and Objective-C