0

我试图存储 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);
   }
4

1 回答 1

2

似乎您没有在目标视图控制器中设置它。此外,您似乎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);
}
于 2013-04-22T19:24:24.430 回答