Почему мой NSInteger изменяется с 12345 на -1758050543, когда я передаю его в качестве аргумента в вызове метода Obj-C? - PullRequest
2 голосов
/ 08 мая 2009

Вот код в 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];
}

В self.caller:

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

Выход на консоль:

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>

1 Ответ

4 голосов
/ 08 мая 2009

Не похоже, что в вашем методе есть "индекс" в области видимости, попробуйте это

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

Просто выглядит как опечатка:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...