Как передать объект из раскрывающегося списка деталей в контроллер подробного представления? Есть ли какие-либо рекомендации или быстрые исправления для этого? В идеале я хочу создать метод, как это:Передача объекта из кнопки раскрытия подробностей segue
[self performSegueWithIdentifier:@"showDetail" sender:self passObject:object];
Причина заключается в том, что «готовится к Segue», кажется дозвонились только тогда, когда я нажимаю ячейку перед индикатором раскрытия деталей. Как создать метод, подобный приведенному выше, для создания эффектов подготовки ниже?
if ([[segue identifier] isEqualToString:@"showDetail"]) {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
id object = [_objects objectAtIndex:indexPath.row];
[[segue destinationViewController] setDetailItem:object];
}
Я уже пытался создать подкласс UIStoryboardSegue как так, но столкнулись две проблемы.
@implementation masterToDetail
-(void)performSegueWithIdentifier:(NSString*)identifier sender:(id)sender passObject:(id)object{
[self.destinationViewController setDetailItem:object];
[self performSegueWithIdentifier:identifier sender:sender];
}
-(void)performSegueWithIdentifier:(NSString*)identifier sender:(id)sender{
//What code should go here? Issue one
}
-(void)perform{
//Second issue, the compiler will crash and say I need to override perform.
}
Я думаю, что это самый быстрый из всех, кого я когда-либо видел, кто спрашивал, а затем отвечал на их собственный вопрос. –
Я был настроен исправить это и проводил довольно долгое время, прежде чем я решил спросить. xD – erran
Вы всегда можете указать ячейку или indexPath в качестве отправителя. Тогда вам также не нужно создавать ivar. –