2013-12-17 16 views
5

ऐप्पल डॉक्टर कहते हैं एक निब फ़ाइल में सबसे महत्वपूर्ण वस्तुओं में से एक फ़ाइल का स्वामी ऑब्जेक्ट है, लेकिन ऐसा लगता है कि फ़ाइल का मालिक nib फ़ाइल में है, न कि LoadNibName विधि द्वारा सेट किया गया। मुझे आश्चर्य है कि उनके बीच क्या अंतर है?loadNibNamed का उपयोग करते समय मालिक का क्या अर्थ है?

मैं xib से एक alertView अनुकूलित और इस तरह एक स्थिर वर्ग विधि प्रदान करते हैं::

यहाँ एक उदाहरण है

+(CustomAlert *)sharedAlert{ 
    CustomAlert *alert = [[[NSBundle mainBundle] loadNibNamed:@"CustomAlert" owner:nil options:nil]lastObject]; 
    return alert; 
} 

और मैं दृश्य पर चेतावनी दिखाने के लिए एक विधि है

- (void)showInView:(UIView *)view{ 
    [view addSubview:self]; 
} 

और मेरे दृश्य में नियंत्रक:

- (IBAction)buttonPressed:(id)sender{ 
    CustomAlert *alert = [CustomAlert sharedAlert]; 
    [alert showInView:self.view]; 
} 

यह मेरी स्थिति में अच्छी तरह से काम करता है, तो क्या मालिक को [[[NSBundle mainBundle] loadNibNamed: owner: options: में सेट करना आवश्यक है?

उत्तर

2

मान लीजिए कि आपके पास एक टेबलव्यू के साथ निब फ़ाइल है और टेबलव्यू प्रतिनिधि और डेटासोर्स इंटरफेस बिल्डर में "फाइल मालिक" तक लगा हुआ है। यदि आप फ़ाइलों को मालिक को किसी ऑब्जेक्ट पर सेट करते हैं, तो वह ऑब्जेक्ट डेटावॉर्स और टेबलव्यू का प्रतिनिधि होगा। यह फाइल मालिक के लिए लगाए गए किसी भी चीज़ के लिए मान्य है।

+0

मुझे पता है कि फाइल का मालिक निब फ़ाइल में महत्वपूर्ण है, लेकिन मुझे आश्चर्य है कि इसका मतलब है [[[[एनएसबंडल मेनबंडल] loadNibNamed: मालिक: विकल्प: ', और यह मेरी स्थिति में क्यों काम कर रहा है। – johnMa

+1

यह वही अर्थ है, क्या आपका कस्टम अलर्ट UIAlertView या UIButton का उप-वर्ग है? यदि यह एक अलर्टव्यू है, तो आप प्रतिनिधि को कैसे सेट करते हैं? यदि यह यूआईबटन है तो आप लक्ष्य कैसे जोड़ते हैं? दोनों मामलों में यदि आप इसे प्रोग्रामेटिक रूप से कर रहे हैं, तो आपको फ़ाइल के स्वामी की आवश्यकता नहीं है। –

+0

तो आपका क्या मतलब है कस्टमएर्ट का फ़ाइल का स्वामी कस्टम अलर्ट क्लास है क्योंकि मैं कस्टम अलर्ट क्लास में लक्ष्य जोड़ता हूं? – johnMa

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