2016-02-11 9 views
8

मैं पीओडी परियोजना में नया हूं। मैं पॉड प्रोजेक्ट व्यू कंट्रोलर अपडेट करना चाहता हूं, इसके लिए मुझे पॉड प्रोजेक्ट में ऐपडिलेगेट क्लास तक पहुंचने की आवश्यकता है।Pod Project ViewController में AppDelegate.h फ़ाइल कैसे आयात करें?

मैंने ऐपडिलेगेट तक पहुंचने के लिए पॉड कॉन्फ़िगरेशन फ़ाइल को अपडेट करने का प्रयास किया है लेकिन सफलता प्राप्त करने में सक्षम नहीं है।

+0

आप इसे क्यों चाहते हैं? यह आदर्श सामान नहीं है जो आपको करना चाहिए। –

+0

अपने प्रोजेक्ट क्लास को पॉड प्रोजेक्ट में उपयोग करने के बजाय अपनी परियोजना में पॉड क्लासेस का उपयोग करें। पॉड क्लास इंस्टेंस बनाएं और 'AppDelegate' क्लास से कुछ भी अपडेट करें। अपनी आवश्यकता के बारे में और भी बताएं मुझे लगता है कि आपकी आवश्यकता को पूरा करने के लिए एक बेहतर और आसान तरीका हो सकता है। – TheTiger

+0

उत्तर के लिए धन्यवाद, लेकिन मैं अपने 'AppDelegate' सरणी ऑब्जेक्ट को पॉड प्रोजेक्ट क्लास में एक्सेस करना चाहता हूं, इसका मतलब है कि जब हम किसी भी पॉड क्लास तक पहुंचते हैं तो' AppDelegate' array ऑब्जेक्ट का उपयोग करके अपडेट किया जाएगा। – Swapnil1156035

उत्तर

1

आप वास्तव में अपने ऐप और फली के बीच एक परिपत्र निर्भरता नहीं बनाना चाहते हैं। ऐसा करने का अनुशंसित तरीका पॉड में प्रोटोकॉल को परिभाषित करना होगा और प्रोटोकॉल को लागू करने के लिए अपना ऐपडिलेगेट बनाना होगा।

@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]; 

ऊपर की संरचना की तरह कुछ काम करना चाहिए, लेकिन मैं आपको इस वास्तुकला पर पुनर्विचार करने का आग्रह करता हूं। फली ऐप की निर्भरता है और ऐप के बारे में कुछ भी नहीं जानना चाहिए। ऐप को उस सब कुछ को बताना चाहिए जिसे उसे जानने की जरूरत है।

संबंधित मुद्दे