我试图存储indexPath.row值,但在下一个视图中我得到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);
}
最佳答案
似乎没有在目标视图控制器中进行设置。另外,似乎您在错误的头文件(storageString
)中创建了属性MainRecipieViewController.h
。
SelectedRecipiesViewController.h
@property (assign) int storageString;
然后在推动视图控制器之前尝试使用此方法:
[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/