prepareforsegue进入无限循环

时间:2015-12-03 10:46:54

标签: ios objective-c segue

我在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方法时,该日志语句会触发ad-infinitum。如果我删除它,转换就可以了。

发生了什么事?

1 个答案:

答案 0 :(得分:2)

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

这可以通过重命名我的setFilename方法或通过_filename =进行分配来解决。