我试图存储 indexPath.row 值,但在下一个 View 中我得到 0。
在 selectedRecipiesViewController 中,我总是得到一个零。这是我的代码。
MainRecipieViewController.h
@property (assign) int storageString ;
MainRecipieViewController.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (!self.selectedRecipiesViewController) {
self.selectedRecipiesViewController = [[[SelectedRecipiesViewController alloc] initWithNibName:@"SelectedRecipiesViewController" bundle:nil] autorelease];
}
if(indexPath.row == 0) {
self.selectedRecipiesViewController.passingArray = soupArray;
}
if (indexPath.row == 1) {
self.selectedRecipiesViewController.passingArray = seaFoodArray;
}
if (indexPath.row ==2) {
self.selectedRecipiesViewController.passingArray = meatMuttonArray;
}
storageString = indexPath.row;
NSLog(@"storageString %i",storageString);
[self.navigationController pushViewController:self.selectedRecipiesViewController animated:YES];
[tableView reloadData];
}
SelectedRecipiesViewController.m
- (void)viewWillAppear:(BOOL)animated {
NSLog(@"next view %i" ,self.vc.storageString);
}
最佳答案
您似乎没有在目标 View Controller 中设置它。此外,您似乎在错误的头文件 (MainRecipieViewController.h
) 中创建了属性 storageString
。
SelectedRecipiesViewController.h
@property (assign) int storageString;
然后在推送 View Controller 之前尝试使用它:
[self.selectedRecipesViewController setStorageString:indexPath.row];
最后...
SelectedRecipiesViewController.m
- (void)viewWillAppear:(BOOL)animated {
NSLog(@"next view %i", self.storageString);
}
关于ios - IndexPath.row 值未存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16155025/