मेरे पास कुछ कोड है जिसके लिए एक सरणी से चर पढ़ने के लिए लूप के उपयोग की आवश्यकता होती है।एक सरणी का आकार प्राप्त करना
int size=sizeof names;
NSLog(@"thelast one is %d",size);
NSString *usersName=userName.text;
NSString *usersPass=passWord.text;
for (i=0; i<=size;i++){
NSString *namesArray=[names objectAtIndex:i];
NSString *passArray=[pass objectAtIndex:i];
NSLog(@"namesArray %@",namesArray);
NSLog(@"passArray %@",passArray);
if([namesArray isEqualToString:usersName]){
userValid=1;
NSLog(@"The content of arry4 is %@",namesArray);
}
if([passArray isEqualToString:usersPass]){
passValid=1;
NSLog(@"The content of arry4 is %@",passArray);
}
else {
userValid=0;
passValid=0;
}
}
मैं कुछ समस्या हो रही किया गया है हर बार इस समारोह कार्यक्रम के भीतर से कहा जाता है, यह लगभग है, क्योंकि के रूप में अगर 'sizeof नाम' गलत है, इसलिए नहीं सरणी में सभी मान जाँच कर रहे हैं। मैं आम तौर पर एक जावा प्रोग्रामर हूं इसलिए मुझे नामों के लिए उपयोग किया जाता है। लम्बाई, और मुझे बताया गया कि आकार का नाम अनिवार्य रूप से वही बात है ... कोई मदद?
चीयर्स।
क्या उपयोगकर्ता नाम और संबंधित पासवर्ड रखने वाले दो सरणी के बजाय NSDictionary का उपयोग करना बेहतर नहीं होगा? – saad
आपके पास 'ब्रेक' नहीं है। इसका अर्थ यह है कि यदि आपके पास वैध नाम के बाद कोई अन्य नाम है तो लूप जारी रहेगा और 'userValid' और' userPass' के मानों को रोक देगा। और, आपका नामकरण सहज नहीं है - आपके पास 'नामअरे' है जिसमें एक स्ट्रिंग, आदि शामिल है - जो आपके कोड को पढ़ने में कठोर बनाता है। – Abizern
... और, ज़ाहिर है, आप ** सादा पाठ ** के रूप में पासवर्ड संग्रहीत नहीं कर रहे हैं। सही? सही?!? – bbum