我如何将这一行传递给我准备segue方法?
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [self.secondsTable cellForRowAtIndexPath:indexPath];
[[self.pickerData objectAtIndex:indexPath.row] intValue];
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.destinationViewController isKindOfClass:[MyViewController class]]) {
MyViewController * dvc = (MyViewController*)segue.destinationViewController;
NSInteger row = [self.timePicker selectedRowInComponent:0];
dvc.seconds =[[self.pickerData objectAtIndex:row] intValue];
}
}
我之前有一个时间选择器并将其转换为表格,所以我的代码中仍然有NSInteger row = [self.timePicker selectedRowInComponent:0];
如何成功地将选定的行从我的表格视图传递到我的prepare for segue方法。
我试图像这样传递它而没有运气: - 我崩溃了
NSInteger row = [self.pickerData objectAtIndex:[[self.secondsTable indexPathForSelectedRow] row]];
dvc.seconds =[[self.pickerData objectAtIndex:row] intValue];
请帮助
答案 0 :(得分:1)
您正在尝试将对象设置为NSInteger,即代码行 让我修改你的代码
NSInteger row1 = [[self.secondsTable indexPathForSelectedRow] row];// Get row value
NSInteger row = [self.pickerData objectAtIndex:row1];// Error line
dvc.seconds =[[self.pickerData objectAtIndex:row] intValue];// Use to have object
这就是你正在做的事情。
更改代码:
NSInteger row = [self.pickerData objectAtIndex:[[self.secondsTable indexPathForSelectedRow] row]];
dvc.seconds =[[self.pickerData objectAtIndex:row] intValue];
致:
dvc.seconds = [[self.pickerData objectAtIndex:[[self.secondsTable indexPathForSelectedRow] row] intValue];
OR
NSInteger row = [[self.secondsTable indexPathForSelectedRow] row];// Get row value
dvc.seconds =[[self.pickerData objectAtIndex:row] intValue];// Use to have object