आप वास्तव में अपने ऐप और फली के बीच एक परिपत्र निर्भरता नहीं बनाना चाहते हैं। ऐसा करने का अनुशंसित तरीका पॉड में प्रोटोकॉल को परिभाषित करना होगा और प्रोटोकॉल को लागू करने के लिए अपना ऐपडिलेगेट बनाना होगा।
@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];
ऊपर की संरचना की तरह कुछ काम करना चाहिए, लेकिन मैं आपको इस वास्तुकला पर पुनर्विचार करने का आग्रह करता हूं। फली ऐप की निर्भरता है और ऐप के बारे में कुछ भी नहीं जानना चाहिए। ऐप को उस सब कुछ को बताना चाहिए जिसे उसे जानने की जरूरत है।
स्रोत
2017-04-02 01:24:41
आप इसे क्यों चाहते हैं? यह आदर्श सामान नहीं है जो आपको करना चाहिए। –
अपने प्रोजेक्ट क्लास को पॉड प्रोजेक्ट में उपयोग करने के बजाय अपनी परियोजना में पॉड क्लासेस का उपयोग करें। पॉड क्लास इंस्टेंस बनाएं और 'AppDelegate' क्लास से कुछ भी अपडेट करें। अपनी आवश्यकता के बारे में और भी बताएं मुझे लगता है कि आपकी आवश्यकता को पूरा करने के लिए एक बेहतर और आसान तरीका हो सकता है। – TheTiger
उत्तर के लिए धन्यवाद, लेकिन मैं अपने 'AppDelegate' सरणी ऑब्जेक्ट को पॉड प्रोजेक्ट क्लास में एक्सेस करना चाहता हूं, इसका मतलब है कि जब हम किसी भी पॉड क्लास तक पहुंचते हैं तो' AppDelegate' array ऑब्जेक्ट का उपयोग करके अपडेट किया जाएगा। – Swapnil1156035