2011-10-20 21 views
15

ठीक है मैंने साइट पर इसी तरह की समस्याओं को देखा है लेकिन अब तक इस समाधान पर नहीं पहुंचा है इसलिए मुझे कुछ गलत करना होगा।एनएसएआरएआरई लंबाई/गिनती प्राप्त करना - उद्देश्य सी

अनिवार्य रूप से, मैं एक टेक्स्ट फ़ाइल आयात कर रहा हूं, फिर प्रत्येक पंक्ति को सरणी के तत्व में विभाजित कर रहा हूं। चूंकि टेक्स्ट फ़ाइल अपडेट की जाएगी आदि .. मैं फ़ाइल में लाइनों की सटीक मात्रा को नहीं जानता और इसलिए सरणी में कितने तत्व हैं। मुझे जावा में पता है कि आप कर सकते हैं। लम्बाई() आदि .. और माना जाता है कि उद्देश्य सी में आप 'गिनती' का उपयोग कर सकते हैं, लेकिन मुझे मेरी सरणी की लंबाई वापस करने में कोई भाग्य नहीं है ... सुझाव?

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"allshows" 
                ofType:@"txt"]; 
NSString *fileString = [NSString stringWithContentsOfFile:filePath]; 

NSArray *lines = [fileString componentsSeparatedByString:@"\n"]; 

NSUInteger *elements = [lines count]; 
NSLog(@"Number of Shows : ", elements); 

और क्या है उत्पादन किया जा रहा है कुछ नहीं है। जैसे "शो की संख्या:" - खाली, जैसे कि यह भी गिनती नहीं थी।

किसी भी मदद के लिए धन्यवाद!

NSLog(@"Number of Shows : %d", elements); 

उत्तर

16

आप प्रारूप स्ट्रिंग प्लेसहोल्डर छूट रहा है:

+0

मैं इतनी भयानक गलती से गंभीरता से शर्मिंदा हूं, धन्यवाद दोस्त! – Didier

5

आप एक पूर्णांक (%d) मुद्रित करने के लिए एक फॉर्मेट स्पेसिफायर उपयोग करने के लिए की जरूरत है। यह होना चाहिए:

NSLog(@"Number of shows: %lu", elements); 
0

आपकी दूसरी पोस्ट को देखते हुए ऐसा लगता है कि आप जावा डेवलपर हैं। जावा के System.out में, आप केवल चर जोड़ते हैं। उद्देश्य-सी में, मेरा सुझाव है कि आप "प्रिंट प्रारूप विनिर्देशक" देखें। उद्देश्य-सी एक ही प्रारूप का उपयोग करता है।