Swa*_*035 9 iphone objective-c ios cocoapods xcode7
我是POD项目的新手.我想更新pod项目viewControllers,因为我需要访问Pod Project中的AppDelegate类.
我试图更新Pod配置文件以访问AppDelegate但无法获得成功.
您确实不想在应用程序和 Pod 之间创建循环依赖关系。建议的方法是在 pod 中定义一个协议并让您的 AppDelegate 实现该协议。
@protocol PodArrayProvider
- (NSArray *)arrayToAccess:
@end
// in AppDelegate.m
#import <Pod/Pod.h>
@extension AppDelegate () <PodArrayProvider>
@end
@implementation AppDelegate
- (NSArray *)arrayToAccess
{
return self.realArray;
}
@end
// then in your pod, you can do:
id<PodArrayProvider> arrayProvider = (id<PodArrayProvider>)[[UIApplication sharedApplication] delegate];
NSAssert([arrayProvider conformsTo:@protocol(PodArrayProvider)], @"bad app delegate!");
NSArray *things = [arrayProvider arrayToAccess];
Run Code Online (Sandbox Code Playgroud)
像上面的结构应该可以工作,但我建议您重新考虑这种架构。Pod 是应用程序的依赖项,不应该了解有关应用程序的任何信息。该应用程序应该告诉 Pod 它需要知道的一切。
| 归档时间: |
|
| 查看次数: |
869 次 |
| 最近记录: |