2009-05-07 11 views
2

Hier ist der Code in AlertTableView:Warum ändert sich mein NSInteger von 12345 zu -1758050543, wenn ich ihn als Argument in einem Obj-C-Methodenaufruf übergebe?

- (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]; 
} 

In self.caller:

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

Console Ausgabe:

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> 

Antwort

4

Es sieht nicht wie Sie "Index" in Umfang haben Versuche es in deiner Methode mit dieser Methode:

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

Sieht aus wie ein Tippfehler :)

+0

Perfekt! Wie dumm von mir. – Elliot