我已经学会了如何将一个类传递给另一个类,但我还没有理解如何以另一种方式执行它。
示例:
假设我们在rootViewController中,在didSelectRowAtIndexPath中我们将播放列表的实例传递给someviewcontroller,如下所示:
SomeViewController *someViewController = [[SomeViewController alloc] initWithNibName:nil bundle:nil];
playlist = [arr objectAtIndex:indexPath.row];
someViewController.playlist = playlist;
现在这对于向前传递类实例非常有效,但是让我们在someViewController中说我想要rootViewController播放列表。
我将如何使用类似技术实现这一目标?谢谢你的帮助!
答案 0 :(得分:1)
另请查看Apple的CoreDataRecipes示例代码: http://developer.apple.com/library/ios/#samplecode/iPhoneCoreDataRecipes/Listings/ReadMe_txt.html
您可以在示例代码中看到RecipeListTableViewController是RecipeAddViewController的委托,这样当RecipeAddViewController完成后,RecipeListTableViewController可以在RecipeDetailViewController中显示配方。
委派也有助于您的对象图,因为对委托的引用是一个弱链接,这意味着它不会保留您的委托。因此,通过使用委托模式,您可以确保不创建任何保留周期,ARC将为您处理内存管理。