iphone - 在不持有应用程序对象的情况下获取当前事件的 UIWindow/appDelegate 对象

标签 iphone objective-c

我正在编写一个“黑盒”库。在这个库中,我需要向任何使用我的库的应用程序添加一个 subview 。
因此,我没有对应用程序的 appDelegate 或 UIWindow 的任何引用。
外部应用程序现在唯一正在做的事情如下:

myRec = [[Rec alloc] init];
myRec.delegate = self;
[myRec start];

其中 Rec 是黑盒库,myRec 是外部应用程序使用的实例。
当然,我无法通过委托(delegate)成员获得对应用程序 View 的任何引用,因为它没有像外部应用程序的特定类型那样定义。

关于如何在事先不知道其身份的情况下掌握 UIWindow 对象/appDelegate 对象的任何想法??

谢谢!!

最佳答案

获取 App Delegate:

id<UIApplicationDelegate> appDelegate = [[UIApplication sharedApplication] delegate];

获取 UIWindow 对象:

UIWindow* window = [[UIApplication sharedApplication] keyWindow];

关于iphone - 在不持有应用程序对象的情况下获取当前事件的 UIWindow/appDelegate 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4544994/

相关文章:

ios - 动画转换 UILabel 的一部分

objective-c - 为什么赋值给强属性有效,但给弱属性赋值却不行?

c# - 如何在按回车键后使用 MonoMac 在 NSTextField 中插入回车符?

Objective-C 模型- View 通信

ios - 快速后退按钮 segue

iphone - 我应该在哪里保存特定于 iphone session 的信息?

iphone - 如何检查 UIView 和 UIImageView 在 iphone sdk 中是否被触摸?

iphone - iOS Facebook SDK-获取 friend 的电子邮件

ios - 调用 viewWillTransitionToSize : manually

iphone - 使用游戏中心向所有玩家显示相同的牌