मैं स्टैनफोर्ड पतन के माध्यम से 2011 आईओएस पाठ्यक्रम मेरे रास्ते काम कर रहा हूँ: http://www.stanford.edu/class/cs193p/cgi-bin/drupal/सीएस 1 9 3 पी असाइनमेंट 3, संकेत # 5 - मॉडल क्या है?
मैं # 3 काम पर हूँ: http://www.stanford.edu/class/cs193p/cgi-bin/drupal/system/files/assignments/Assignment%203_2.pdf
एक सारांश के रूप में, पूर्व कार्य और एक नियमित रूप से कैलकुलेटर का निर्माण करने के लिए कहा है अब इस असाइनमेंट हमें इस कैलकुलेटर को एक एनवी कंट्रोलर पर धक्का देने और उस कैलकुलेटर व्यू कंट्रोलर से ग्राफ़व्यू कंट्रोलर तक एक सेगू बनाने के लिए कह रहा है जो "कैलकुलेटरब्रेन" में संग्रहीत फ़ंक्शन को प्लॉट करेगा। यह कैलकुलेटरब्रेन मूल कैलक्यूलेटर व्यू कंट्रोलर के लिए मॉडल था।
संकेत # 5 इस तथ्य के बारे में बात करता रहता है कि अब ग्राफव्यू कंट्रोलर का मॉडल कैलकुलेटर व्यू कंट्रोलर के मॉडल से अलग है और मैं इसका अर्थ समझ नहीं सकता कि उसका क्या अर्थ है।
एकमात्र तरीका जिसे मैं नया एमवीसी बनाने में सक्षम हूं, ग्राफ़ व्यू कंट्रोलर के ग्राफ़ व्यू (व्यू) में प्रोटोकॉल बनाकर टाइप आईडी के "डेटासोर्स" नामक ऑब्जेक्ट के साथ प्रोटोकॉल बना रहा है। और फिर GraphViewController में:, कि प्रोटोकॉल अपनाने GraphView instantiating और डेटा स्रोत के रूप में खुद को स्थापित करने:
-(void) setGraphView:(GraphView *)graphView
{
_graphView=graphView;
self.graphView.dataSource=self;
}
और फिर मूल CalculatoViewController में, prepareForSegue का उपयोग कर GraphViewController करने के लिए कार्यक्रम पारित करने के लिए:
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:@"Graph"])
{
GraphViewController *myGraphViewController = segue.destinationViewController;
myGraphViewController.myCalculator=self.myCalcBrain;
}
}
तो ऐसा लगता है कि ठीक काम करता है। तो अगर यह काम करता है, तो इसका मतलब है कि GraphViewController का मॉडल वास्तव में मूल कैलकुलेटर मस्तिष्क है जिसे उसने विशेष रूप से कहा था कि यह नहीं है!
मेरा मतलब यह नहीं है कि, segue के दौरान, मैं ग्राफ़व्यू कंट्रोलर कैलकुलेटर संपत्ति को कैलकुलेटर मॉडल उदाहरण को मूल कैलक्यूलेटर व्यू कंट्रोलर से आवंटित कर रहा हूं और उसके बाद ग्राफ़ व्यू कंट्रोलर से ग्राफ़ व्यू अर्थों में वाई मान वापस करने के लिए प्रोटोकॉल का उपयोग कर रहा हूं कि GraphViewController के लिए मॉडल वास्तव में केवल मूल कैलक्यूलेटर ब्रेन मॉडल है।
नहीं है "इस नए दृश्य नियंत्रक के लिए मॉडल क्या है?" वास्तव में आपको क्या पता लगाने के लिए कहा जा रहा है? * क्या आपको लगता है कि यह होना चाहिए? ग्राफ़िंग व्यू कंट्रोलर किस डेटा पर काम करता है? – Caleb
@ कैलेब धन्यवाद। वास्तव में भ्रमित करने वाला यह था कि मैंने ग्राफ़ व्यू क्लास में एक प्रोटोकॉल (एक विधि और एक संपत्ति के साथ) परिभाषित किया था और उसके बाद ग्राफ़ व्यू कंट्रोलर प्रोटोकॉल (और विधि) को कार्यान्वित करता था ताकि एक्स विधि के वाई मान के साथ उस विधि का जवाब हो सके। यह मुझे परेशान करता है क्योंकि मेरे दिमाग में, यह मुझे बताता है कि ग्राफवीवी के लिए मॉडल मान (वाई) का मुख्य रूप से मुख्य "कैलकुलेटरब्रेन" वर्ग से लिया गया है, जिसे उन्होंने कहा था कि यह नहीं है। शायद यह सिर्फ अर्थशास्त्र है .... क्या मैं इस पर विचार कर रहा हूं? – Spectravideo328