Tengo un código que requiere el uso de un bucle for para leer las variables de una matriz.Obtener el tamaño de una matriz
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;
}
}
he estado teniendo algunos problemas porque cada vez que esta función se llama desde el programa, es casi como si los 'nombres' sizeof es incorrecto, por lo tanto, no se comprueban todos los valores de la matriz. Soy generalmente un programador de Java, así que estoy acostumbrado a names.length, y me dijeron que el tamaño de los nombres es esencialmente lo mismo ... ¿Alguna ayuda?
Saludos.
¿No sería mejor utilizar NSDictionary en lugar de dos matrices que contienen el nombre de usuario y la contraseña correspondiente? – saad
Usted no tiene un 'descanso'. Eso significa que si tiene otros nombres después de un nombre válido, entonces el ciclo continuará ejecutándose y afectará los valores de 'userValid' y' userPass'. Y su nombre no es intuitivo, tiene 'namesArray' que contiene una cadena, etc., lo que hace que su código sea más difícil de leer. – Abizern
... y, por supuesto, ** no está almacenando las contraseñas como texto sin formato **. ¿derecho? ¿¡¿DERECHO?!? – bbum