Pour mon code, j'interroge la recherche d'un firstName
et lastName
, puis je place ces deux valeurs dans des chaînes, puis je combine les chaînes et j'ajoute un espace dans le milieu. J'ajoute ensuite cette nouvelle chaîne à un NSMutableArray
. Cependant, seules les premières instances sont ajoutées au tableau. Tous les autres tableaux comme indiqué dans le code obtiennent le nombre correct de valeurs de données. Voici mon code.Parse IOS stringWithFormat n'ajoute qu'un ensemble de données à NSMutableArray au lieu de deux ensembles
for (PFObject *object in objects) {
NSLog(@"%@", objects[i]);
NSString *phonenumber = object[@"phoneNumber"];
NSString *firstname = object[@"firstName"];
NSString *lastname = object [@"lastName"];
NSString *email = object [@"email"];
NSString *combinedname = [NSString stringWithFormat:@"%@ %@", firstname, lastname];
NSLog(@"%@",combinedname);
NSLog(@"%@", phonenumber);
[phoneNUMBERS addObject:phonenumber];
[firstNAMES addObject:firstname];
[lastNAMES addObject:lastname];
[EMAILS addObject:email];
[combinedNAMES addObject:combinedname];
NSLog(@"y0");
NSLog(@"%@",combinedNAMES);
}
Y at-il des raisons pour lesquelles combinedNAMES
n'obtient la première série de noms et prénoms et non la seconde? Par exemple, les deux premiers noms stockés en analyse sont Jack et John, et leurs noms de famille sont Apple et Gardner. Le tableau stocke uniquement le nom Jack Apple et ne stocke pas John Gardner. Cependant, le tableau contenant les prénoms contient à la fois Jack et John
-(IBAction)displayfriendinfo:(id)sender{
phoneNUMBERS = [NSMutableArray new];
firstNAMES =[NSMutableArray new];
lastNAMES = [NSMutableArray new];
EMAILS = [NSMutableArray new];
combinedNAMES = [[NSMutableArray alloc] init];
// Initialize table data
PFQuery *query = [PFQuery queryWithClassName:@"friendsAssociation"];
//quesrys the class Friend asssociation to find when instances of "user" equal the
//logged in user's username
[query whereKey:@"user" equalTo:usernamecontrol];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
// The find succeeded.
NSLog(@"Successfully retrieved %d users.", objects.count);
// Do something with the found objects
ContactTableViewController *contacts = [[ContactTableViewController alloc]initWithNibName:Nil bundle:Nil];
contacts.user = usernamecontrol;
contacts.COMBINEDNAMES = [NSMutableArray new];
contacts.FIRSTNAMES = [NSMutableArray new];
contacts.PHONENUMBERS = [NSMutableArray new];
contacts.COMBINEDNAMES = combinedNAMES;
contacts.PHONENUMBERS = phoneNUMBERS;
contacts.FIRSTNAMES = firstNAMES;
[self presentViewController:contacts animated:YES completion:Nil];
if (objects.count == 0) {
//uialert letting the user know that no phone number matches the query
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"No User"
message:@"No user matches this username"
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
}
//if there is only one number matching the query
if (objects.count >=1) {
int i=0;
for (PFObject *object in objects) {
NSLog(@"%@", objects[i]);
NSString *phonenumber = object[@"phoneNumber"];
NSString *firstname = object[@"firstName"];
NSString *lastname = object [@"lastName"];
NSString *email = object [@"email"];
NSString *combinedname = [NSString stringWithFormat:@"%@ %@", firstname, lastname];
NSLog(@"%@",combinedname);
NSLog(@"%@", phonenumber);
[phoneNUMBERS addObject:phonenumber];
[firstNAMES addObject:firstname];
[lastNAMES addObject:lastname];
[EMAILS addObject:email];
[combinedNAMES addObject:combinedname];
NSLog(@"y0");
NSLog(@"%@",combinedNAMES);
}
NSLog(@"y0");
NSLog(@"%@", phoneNUMBERS);
//if there is more than one phonenumber matching the query as
//the user to input the friends username
//instead
} else {
// Log details of the failure
NSLog(@"Error: %@ %@", error, [error userInfo]);
}
}}];
} Voici toute la méthode que je me sers si cela aide à repérer le problème
Je ne comprends pas « seulement obtient la première série de noms et prénoms et non le second » signifie –
Ainsi, par exemple les deux stockés dans Parse prénoms sont Jack et John, et leurs noms de famille sont Apple et Gardner. Le tableau stocke uniquement le nom Jack Apple et ne stocke pas John Gardner. Cependant, le tableau contenant les prénoms contient à la fois Jack et John – David
Est-ce que le NSLog imprime tout le nom combiné? –