एच फाइल
#import <UIKit/UIKit.h>
@interface calculatorViewController : UIViewController
@property (weak, nonatomic) IBOutlet UILabel *display;
@end
एमएम फ़ाइल
#import "calculatorViewController.h"
@interface calculatorViewController ()
@end
@implementation calculatorViewController
@synthesize display=_display;
- (IBAction)digitPressed:(UIButton*)sender
{
NSString *digit=[sender currentTitle];
NSLog(@"digit pressed %@", digit);
UILabel*myDisplay=self.display;
//[self display] why not just type
NSString *currentText= myDisplay.text;//[myDisplay text]; why are we not writing current title again?
nsstring*newText=[currentText stringByAppendingString:digit];
[myDisplay setText:newText];
हाय दोस्तों! मैं ऑब्जेक्टिव-सी सीखने की कोशिश कर रहा हूं इसलिए ये सवाल हो सकते हैं बेवकूफ आपके लिए लेकिन मेरे लिए कठिन है, इसलिए कृपया मेरे प्रश्न को मत टालें क्योंकि मैं केवल आपकी तरह सीखने की कोशिश कर रहा हूं। :)
मेरे पास .m फ़ाइल में कुछ प्रश्न हैं।
(IBAction)digitPressed:(UIButton*)sender
कर देता है(UIButton *)
इसका मतलब है कि यह एक प्रकार है और हैsender
एक साथ एक सूचक है? कठबोली हम ब्रैकेट को हटा सकते हैं?NSLog(@"digit pressed %@", digit);
यह काम क्यों नहीं करता है*digit
। Doesn "t अंक केवल पते और वास्तविक मूल्य को संग्रहीत करता है?UILabel*myDisplay=self.display;
मुझे पता हैself.display
एक गेट्टर है लेकिन वास्तव में क्या हैself
हम इसका उपयोग कब करते हैं?NSString *currentText= myDisplay.text
हम क्यों लिख रहे हैं.text
और नहींcurrentTitle
जैसे कीNSString *digit=[sender currentTitle];
अन्त में मैंने बहुत पढ़ा लेकिन समझ नहीं पाया। एक वाक्य में क्या अंतर है
NSString
तथाUILabel
?
उत्तर:
जवाब के लिए 3 № 1(UIButton *) प्रेषक का अर्थ है कि प्रेषक को विधि के पैरामीटर में पास किया गया है, और उस प्रेषक को यूआईबीयूटन ऑब्जेक्ट में डाला गया है।
क्योंकि * डिजिट किसी ऑब्जेक्ट का पॉइंटर होता है, जिससे ऑब्जेक्ट का मेमोरी एड्रेस प्रिंट हो जाएगा
यदि आप चर कुंडली का उपयोग करना चाहते हैं, तो आप इसका उपयोग करते हैं, और सीधे उदाहरण चर नहीं।
एक ही है, सिर्फ एक सम्मेलन है, उपयोग करें। उपयोग करने के लिए गुणों और अंतरिक्ष तक पहुँचने के तरीके।
NSString "ABC" जैसी एक स्ट्रिंग ऑब्जेक्ट का प्रतिनिधित्व करता है, UILabel एक दृश्य है जिसे आपकी स्क्रीन में प्रदर्शित किया जाएगा, और कौन सा पाठ एक NSString है।
मैंने जीता "अधिक विवरण में जाना, क्योंकि एसओ एक ट्यूटोरियल पेज नहीं है। आपको" यह सभी उत्तर किसी भी कोकोआटाउन प्रोग्रामिंग बुक के पहले अध्याय में मिलेंगे।
उत्तर № 2 के लिए 1
- (UIButton *) एक UIButton ऑब्जेक्ट का टाइपकास्ट है। यदि आप सुनिश्चित हैं कि प्रेषक एक UIButton है तो आप टाइपकास्ट जोड़ सकते हैं। इस तरह से आप सीधे UIButton ऑब्जेक्ट पर गुण / मेथोस तक पहुंच सकते हैं
2। जहां तक मैं समझता हूं कि अंक स्ट्रिंग ऑब्जेक्ट को संदर्भित करता है। और * अंक का अर्थ है पहला (सूचकांक 0 पर स्थित)।
3। सेल्फ का मतलब होता है वह सेल्फ यानि सेल्फव्यू कैलकुलेटर व्यू कंट्रोलर
4। पाठ UILabel घटक की एक संपत्ति है
5। आप उस NSString को प्रदर्शित नहीं कर सकते हैं जिस डिस्प्ले पर आपको UILabel घटक की आवश्यकता है। आप टेक्स्ट प्रॉपर्टी को NSString ऑब्जेक्ट पर सेट कर सकते हैं और इसे स्क्रीन पर प्रदर्शित कर सकते हैं
सादर
जोहान