एक sharedInstance अक्सर कार्यान्वित किया जाता है:
@implementation ARViewController
static id _instance
@synthesize ARName;
...
- (id) init
{
if (_instance == nil)
{
_instance = [[super allocWithZone:nil] init];
}
return _instance;
}
+ (ARViewController *) sharedInstance
{
if (!_instance)
{
return [[ARViewController alloc] init];
}
return _instance;
}
और यह तक पहुँचने के लिए, वर्ग CustomARFunction में निम्न का उपयोग singleton pattern के साथ। [UIApplication sharedApplication]
की तरह -> केवल एक ही एप्लिकेशन है जिसे आप इस सिंगलटन के माध्यम से एक्सेस करते हैं।
विचार यह है कि कक्षा का एक उदाहरण होना चाहिए जिसे क्लास विधि को कॉल करके एक्सेस किया जा सकता है, उद्देश्य-सी आमतौर पर साझा किए गए XXXXX में।
अपनी समस्या को हल करने के लिए आप वास्तव में एक मॉडल वर्ग के एक सिंगलटन को लागू करने और करने के लिए और एक मौजूदा उदाहरण है, जिसमें एक स्थिर विधि के साथ पहुँचा जा सकता है से लिख सकते हैं और पहुंच तारीख सकता है, यह sharedModel फोन करते हैं।
अगले कदम के अपने मॉडल पर सुधार करने के लिए और विचारों को अद्यतन करने KVO होगा: कुंजी मान अवलोकन। आप अपने मॉडल में किए गए परिवर्तनों को देखने के लिए नियंत्रक को अपने दृश्य में एक पर्यवेक्षक जोड़ते हैं। यदि ऐसा परिवर्तन होता है तो आपका व्यू कंट्रोलर सूचित किया जाता है और फिर आप दृश्य को अपडेट कर सकते हैं।
आप Apple's documentation में केवीओ के बारे में और mindsizzlers पर एक छोटे और आसान ट्यूटोरियल के लिए और अधिक पढ़ सकते हैं।
स्रोत
2011-04-08 09:36:01
मैं समझता हूँ :( – Birdkingz
खैर नहीं है, हमें कुछ अधिक विस्तृत जानकारी प्रदान करते हैं जहां समस्या है और आप बिल्कुल समझ में नहीं आता क्या :) – Lepidopteron
ठीक कृपया, मैं 2 फ़ाइलें है। एच/एमएम - कस्टमरफंक्शन। एच/एमएम ARViewController.h के अंदर, मेरे पास एक स्ट्रिंग वेरिएबल कॉल ARName है। मैं जो चाहता हूं वह वास्तव में CustomARFunction.m के अंदर है, मुझे ARViewController.h में ARName को संदर्भित करने की आवश्यकता है और इसमें कुछ बदलाव करें। मतलब, अगर मैं CustomARFunction.m का उपयोग करके एआरएनएएम बदलता हूं, तो ARViewController पर ARName भी बदल जाएगा। – Birdkingz