我想在目标C视图控制器中引用swift app delegate,因为我想将NSMutableArray
中的数据提交到core data
。
我已导入
#import "SPOTEVENT-EventNotificationApp-Bridging-Header.h"
#import "AppDelegate.swift"
在目标C视图控制器中,但每当我尝试创建应用程序委托实例时,它都会给出错误
“未知类型名称”
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
AppDelegate *appDelegate;
NSManagedObjectContext *context;
答案 0 :(得分:2)
Generated Interface Header
允许您在Swift中使用Objective-C代码。您需要导入Objective-C Generated Interface Header Name
以在Objective-C中使用Swift代码
在目标的构建设置部分中查找<TargetName>-Swift.h
设置。它通常是.m
大多数情况下,您通常会导入#import "MyTarget-Swift.h"
文件以查看Swift类。
.h
如果在OC中采用Swift协议,您可能需要导入AppDelegate
但是可以通过桥接标头引入循环依赖,因此请谨慎使用。
如果@objc
类仍未显示,则可能需要将Command-Click
添加到类声明中,或检查您的类是否正在使用任何阻止导出的Swift功能。您可以 <td>{{ ($index + 1) + (currentPage - 1) * pageSize }}</td>
import语句来查看标题的内容,这对调试很有用。
答案 1 :(得分:0)
执行此步骤以在objective-c文件中使用swift文件。
1)#Import "YourProjectName-swift.h" in Objective-C (.m) file
2)现在创建AppDelegate的实例,如下所示。
AppDelegate *appDel = (AppDelegate*)[[UIApplication sharedApplication] delegate];
注意: - 您必须在项目中添加桥接标题。