Hvorfor er min NSInteger endre 12345 til -1758050543 når jeg passerer det som et argument i en Obj-C metode samtale?

stemmer
2

Her er koden i AlertTableView:

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

I self.caller:

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

Konsoll utgang:

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>
Publisert på 07/05/2009 klokken 22:57
kilden bruker
På andre språk...                            


1 svar

stemmer
4

Det ser ikke ut som du har "indeks" i omfang i metoden din, prøv dette:

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

Bare ser ut som en skrivefeil :)

Svarte 07/05/2009 kl. 23:13
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more