一个面向服务的 ApplicationDelegate。在此方案的合理性请查看 这里.
SVEApplicationDelegate 在 iOS 5 上进行了测试,并且需要 ARC。在 MIT 许可协议下发布。
打开包含的 Xcode 项目以获取示例应用程序和测试。
在您的 ApplicationDelegate .h 文件中继承自 SVEApplicationDelegate。
#import "SVEApplicationDelegate.h"
@interface AppDelegate : SVEApplicationDelegate
@end
然后在您的 ApplicationDelegate .m 文件中只需添加您需要的服务,并配置您的根控制器,您就完成了。
- (NSArray *) services {
static NSArray * _services;
static dispatch_once_t _onceTokenServices;
dispatch_once(&_onceTokenServices, ^{
_services = @[[DataController sharedInstance], [PushNotificationController sharedInstance], [LocationController sharedInstance]];
});
return _services;
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Invoke super to startup all the services
[super application:application didFinishLaunchingWithOptions:launchOptions];
// Setup the view controllers
UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
MasterViewController *controller = (MasterViewController *)navigationController.topViewController;
controller.managedObjectContext = [DataController sharedInstance].managedObjectContext;
return YES;
}
有关完整文档,请参阅 头文件。
简单地将 `SVEApplicationDelegate.h
` 和 `SVEApplicationDelegate.m
` 文件添加到您的项目中,如果您正在使用 CocoaPods,则请将 `SVEApplicationDelegate
` 添加到您的 Podfile 中。