我以前没用过storybboard,最近试了一下,确实很多方面很好用。但是我发现用了storyboard总是被迫写一些代码,比如:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"AddPlayer"]) { //非得这么写,晕
UINavigationController * navigationController = segue.destinationViewController;
PlayerDetailViewController * playerDetailsViewController = [navigationController viewControllers][0]; //晕死了
playerDetailsViewController.delegate = self;
}
}
我觉得这样的代码非常不优美,还容易出错。
有没有什么办法能使用storyboard还能写的好一点?
嗯,说的没错,使用storyboard确实有些时候很让人郁闷。我用过storyboard写过一些应用,据我所知,prepareForSegue是使用segue时唯一传递参数的办法。**Storyboard不支持自定义的viewcontroller指定属性和delegate。**
所以我建议,如果你写的应用比较简单,规模不大(视图什么的都不多),可以使用storyboard,会很方便。但是如果你要写的程序非常庞大,复杂。有很多很多视图,很多导航,很多后退,那么用storyboard会非常费劲。
另外,我觉得storyboard可以用于建立初始模型,你可以最初设计的时候用storyboard建立一个真正成型后的效果应用。
所以用storyboard主要是取决于你要的应用情况。
如果你用SVN/Git或者其他的VCS了,那么Storyboard和他们完全不匹配。