2009-05-07 10 views
2

Voici le code dans AlertTableView:Pourquoi mon NSInteger passe-t-il de 12345 à -1758050543 lorsque je le passe comme argument dans un appel de méthode Obj-C?

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ 
    NSInteger index = 12345; 
    NSLog(@"AlertTableView: selecting row at index %d", index); 
    [self.caller didSelectRowAtIndex:index withContext:self.context]; 
} 

En self.caller:

- (void)didSelectRowAtIndex:(NSInteger)row withContext:(id)context { 
    NSLog(@"Selected row at index %d with context %@", index, context); 
} 

Sortie de la console:

2009-05-07 15:51:30.619 Whiteboard[15165:20b] AlertTableView: selecting row at index 12345 
2009-05-07 15:51:30.620 Whiteboard[15165:20b] Selected row at index -1758050543 with context <Picker: 0x587c20> 

Répondre

4

Il ne semble pas que vous avez portée "index" dans votre méthode, essayez ceci:

- (void)didSelectRowAtIndex:(NSInteger)row withContext:(id)context { 
    NSLog(@"Selected row at index %d with context %@", row, context); 
} 

Juste ressemble à une faute de frappe :)

+0

Parfait! Que je suis bête. – Elliot