वृक्षारोपण पर एक ट्यूटोरियल के बाद, मुझे एक्सकोड में यह लोकप्रिय ऑब्जेक्ट-सी चेतावनी संदेश दिखाई देता है।उद्देश्य सी निहित रूपांतरण पूर्णांक सटीक खो देता है 'NSUInteger'
मेरे बटन समारोह
- (IBAction)buttonPressed:(UIButton *)sender {
NSUInteger index = arc4random_uniform(predictionArray.count);
self.predictionLabel.text = [predictionArray objectAtIndex:index];
}
मैं NSUInteger लाइन पर इसे देख, मैं कुछ इसी तरह की stackoverflows के कुछ ही किए हैं और उनका 32 बिट बनाम 64 बिट संख्या और प्रकार के कास्टिंग के बारे में बात करने लगते हैं, लेकिन यकीन नहीं कैसे ऐसा करने के लिए यहाँ?
मेरे predictionArray
- (void)viewDidLoad
{
[super viewDidLoad];
predictionArray = [[NSArray alloc] initWithObjects:
@"It is certain", @"It is decidely so", @"All signs say YES", @"The stars are not aligned",
@"My reply is no",
@"It is doubtful",
@"Better not tell you now",
@"Concentrate and ask again",
@"Unable to answer now", nil];
// Do any additional setup after loading the view, typically from a nib.
}
हम्म, मैंने अभी यह कोशिश की, लेकिन फिर भी वही चेतावनी। तो मैं NSUInteger को किस तरह कास्टिंग कर रहा हूं? '(NSUInteger) का अर्थ क्या है। या शायद अधिक महत्वपूर्ण बात यह है कि यह मुझे किस बारे में चेतावनी दे रहा है? –
@LeonGaban: मैंने कास्ट को गलत जगह पर रखा है। –
धन्यवाद! अभी भी इसे समझने की कोशिश कर रहे हैं, इसलिए 'NSUInteger' हमेशा 32 बिट int है? मैंने इसे 64 बिट के रूप में डालने की कोशिश की और मुझे एक ही त्रुटि मिली। उस बिट चीज मेरे लिए नई है, –