我正在将图像保存在ViewController中,并希望在segue期间将其传递给下一个图像,但是这样做会导致无限循环。

这是我的代码:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"next"])
    {
        ReviewViewController *rvc = [segue destinationViewController];
        [rvc setFilename:self.filename];
    }
}


setFilename中的ReviewViewController方法看起来像这样:

- (void)setFilename:(NSString *)filename{
    NSLog([NSString stringWithFormat:@"Setting filename to: %@",filename]);
    self.filename = filename;
}


当我添加prepareForSegue方法时,该log语句将立即触发无穷大。如果我删除它,过渡很好。

到底是怎么回事?

最佳答案

正如评论中许多指出的那样,答案是self.filename =实际上调用[self setFilename],这就是我所说的方法。

通过重命名我的setFilename方法或通过_filename =进行赋值可以解决此问题。

关于ios - 前锋准备进入无限循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34063929/

10-10 20:51