ios - 从 Objective-C 文件中的 AppDelegate.swift 访问 UIWindow

标签 ios swift

我正在开发 swift 项目,我需要使用我的旧 Objective-C 代码。

我确实设法创建了 -Bridge-Header.h 文件,它对我有用。

现在在我的 Objective-C 代码中,我需要从 AppDelegate.swift 引用 UIWindow

有没有人以前做过这个?

请指导我!

最佳答案

首先要访问 ObjC 中的 Swift 类,您可以导入编译器生成的头文件以将这些文件公开给 ObjC。它会像 ProductModuleName-Swift.h。(这个文件并不真正存在,但 Xcode 会自动为你创建它)

#import "YourProductName-Swift.h"

然后您可以从 ObjC 文件访问应用程序委托(delegate)中的 window 属性,如

AppDelegate *delegate =  [[UIApplication sharedApplication]delegate];
UIWindow *window = delegate.window;

关于ios - 从 Objective-C 文件中的 AppDelegate.swift 访问 UIWindow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24929966/

相关文章:

swift - 在 Swift 中移动 UIImageView 的 UIImage 中的 UIView

ios - 如何检查字符串所在的数字数组。使用swift

iOS:自动布局与在 iOS 7 和 iOS 8 上对 subview 应用约束的差异

iphone - 如何重命名我的 ios 项目驻留在我的操作系统上的文件

swift - String.CharacterView - 如何转换为字符串

swift - 解码器是否需要具有 key 的外部数据表示?

swift - NSCoding 和 GameplayKit 类

ios - 从另一个 View Controller 访问数据库函数时出现 Swift 4 SQLite 问题

ios - 在 iOS 5 上实现快速高效的核心数据导入

arrays - 不能在不可变值 : function call returns immutable value - not sure why value is immutable 上使用可变成员