iOS警告:语义问题(找到名为'setDelegate:'的多个方法)

时间:2012-01-26 20:15:48

标签: objective-c ios segue

我是iOS 5的新手,并且遇到了代理和segues的问题。

我有一个主视图控制器,它会转换为SettingsViewController。我使用以下代码使主VC成为Settings VC的代理:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"SETTINGS"]) {
        [[segue destinationViewController] setDelegate:self];
    }
}

SettingViewController然后转到多个选项屏幕。我试图为这些选项屏幕设置SettingsViewController代理,但我收到警告:setDelegate:方法在两个地方找到(MainViewController和{{1} })。

如何最好地解决此问题?谢谢!

P.S。我发现当我在编译器设置中启用严格选择器匹配警告时(根据教程书的建议)我才会收到此警告。丢开?解决问题?我不太确定......

1 个答案:

答案 0 :(得分:0)

将视图控制器强制转换为已知类型就足够了:

[(SettingsViewController *)[segue destinationViewController] setDelegate:self];