У меня есть два метода:didSelectRowAtIndexPath и реализация prepareForSegue
- (void)tableView: (UITableView *)tableView didSelectRowAtIndexPath: (NSIndexPath *)indexPath
{
testNumber=indexPath.row;
testNumber=testNumber+1;
NSLog(@"Test number : %i",testNumber);
}
затем
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([[segue identifier] isEqualToString:@"testStart1"])
{
tViewController *tvc = [segue destinationViewController];
tvc.testNumberTVC=testNumber;
}
}
У меня также SEGUE, который срабатывает при выборе строки в моем UITableView
.
Моя проблема в том, что я выбираю строку, prepareForSegue действует до didSelectRowAtIndexPath, поэтому новое значение testNumber
не переносится.
Я хотел бы реализовать prepareForSegue только тогда, когда didSelectRowAtIndexPath делается лучше: Перенести значение testNumber используя только didSelectRowAtIndexPath метод и поэтому удаление метод prepareForSegue.
Я видел несколько тем о передаче данных с UITableView
в DetailView, но с новым xCode 5, когда появляется сообщение об ошибке, я действительно не знаю, связано ли это с тем, что решение устарело или существует реальная ошибка это мой код.
Только предложение, вместо того, чтобы делать 'testNumber = testNumber + 1;' вы можете сделать 'testNumber ++,' и это будет сделать то же самое. –