Iphone 在两个视图控制器之间传递对象不工作

Iphone 在两个视图控制器之间传递对象不工作,iphone,objective-c,cocoa-touch,Iphone,Objective C,Cocoa Touch,我试图将3个对象传递给另一个VC,但它们在目标VC中显示为Null VC1: 将对象传递给VC1的类: if ([self.delegate respondsToSelector:@selector(specificExerciseTableViewController:didSelectSpecificExerciseWithURL:muscleName:muscleURL:)]) { NSString *exercis

我试图将3个对象传递给另一个VC,但它们在目标VC中显示为Null

VC1:

将对象传递给VC1的类:

 if ([self.delegate respondsToSelector:@selector(specificExerciseTableViewController:didSelectSpecificExerciseWithURL:muscleName:muscleURL:)])
                {
                    NSString *exerciseName = [[self.exerciseArray objectAtIndex:selectedRowIndex.row] objectForKey:@"exerciseName"];
                    [self.delegate specificExerciseTableViewController:self didSelectSpecificExerciseWithURL:exerciseName muscleName:self.muscleName muscleURL:self.muscleURL];
                    [self dismissModalViewControllerAnimated:YES];
                }
编辑:

我已经更新了将对象设置为VC属性的方法,但存在相同的问题:

- (void)specificExerciseTableViewController:(SpecificExerciseTableViewController *)specificExerciseTableViewController didSelectSpecificExerciseWithURL:(NSString *)exerciseURL muscleName:(NSString *)muscleName muscleURL:(NSString *)muscleURL;
{
    self.muscleName = exerciseURL;
    self.muscleName = muscleName;
    self.muscleURL = muscleURL;
    [self addExercise];
}

当您执行上面显示的代码时,您希望发生什么


第二个代码块在某些
委托上调用
-specificExerciseTableViewController:didSelectSpecificExerciseWithURL:muscleName:muscleURL:
,但在“VC1”示例中该方法的实现会忽略传递给该方法的参数。您似乎没有对提供的数据做任何处理。

问题是您正在将参数传递给delgate对象。但是在委托方法中,在调用方法之前,您既没有将参数传递给函数addExercise,也没有将参数分配给属性。

我已经用我的方法将问题更新为将对象设置为VC的属性,但有相同的问题:检查这些变量的属性。确保保留了这些变量。
- (void)specificExerciseTableViewController:(SpecificExerciseTableViewController *)specificExerciseTableViewController didSelectSpecificExerciseWithURL:(NSString *)exerciseURL muscleName:(NSString *)muscleName muscleURL:(NSString *)muscleURL;
{
    self.muscleName = exerciseURL;
    self.muscleName = muscleName;
    self.muscleURL = muscleURL;
    [self addExercise];
}