Pet*_*rbo 10 objective-c uiapplicationdelegate ios
可以将AppDelegate作为实例变量UIViewController吗?喜欢@property (nonatomic, weak) AppDelegate *appDelegate;
为什么我问的是因为我需要经常访问它而不是这样做:
AppDelegate *appDelegate = (AppDelegate *) [[UIApplication sharedApplication] delegate];
[appDelegate doSomething];
Run Code Online (Sandbox Code Playgroud)
我可以:
[appDelegate doSomething]
Lor*_*o B 18
也许它可以.
但我最喜欢的解决方案如下.
在你的 AppDelegate.h
+ (AppDelegate *)appDelegate;
Run Code Online (Sandbox Code Playgroud)
在你的 AppDelegate.m
+ (AppDelegate *)appDelegate
{
return (AppDelegate *)[[UIApplication sharedApplication] delegate];
}
Run Code Online (Sandbox Code Playgroud)
然后在任何地方使用:
AppDelegate* sharedDelegate = [AppDelegate appDelegate];
Run Code Online (Sandbox Code Playgroud)
一些说明:
如果您使用AppDelegate共享数据,您可以阅读singletons-appdelegates-and-top-level.html.
如果你AppDelegate用于你的逻辑应用程序工作流程,你可以阅读处理你的初始视图控制器为iPhone /
希望能帮助到你.
Lou*_*nco 14
或者你可以做到
-(YourAppDelegate*) app
{
return (YourAppDelegate*) [[UIApplication sharedApplication] delegate];
}
Run Code Online (Sandbox Code Playgroud)
在UIViewController的子类中 - 然后将其作为所有视图控制器的基类.
然后,[self app]工作,你不必保持参考.
我这样做是为了保留一些常见的简单实用程序 - 您也可以使用类别来执行此操作.
| 归档时间: |
|
| 查看次数: |
13940 次 |
| 最近记录: |