目前我似乎还没有遇到问题,但我想确保我正在使用一些最佳实践。
假设我有一个UITableViewController,其数据源是MyObject对象的NSArray。那么在我的UITableViewController中,我会这样声明我的数据源:
@property (strong, nonatomic) NSArray *dataSource;
当我点击一个单元格后,希望能够推出一个新的视图,显示该单元格对应的MyObject的详细信息。因此,在新的UIViewController中,我有以下代码:
@property (strong, nonatomic) MyObject *myObject;
现在,在UITableViewController中当一个单元格被点击时:
MyObject *myObject = [[self dataSource] objectForIndex:[indexPath row]];
NewView *view = [[NewView alloc] initWithMyObject:myObject];
// ... push onto nav controller, etc
基本上我担心的是我的数组被声明为strong,详细视图中的MyObject被声明为strong,谁知道可能有另一个视图也用了相同被声明为strong的MyObject。
总之:这是在视图间传递对象的正确方式吗?我还没有在我的应用中使用弱引用,感觉这不太对。任何帮助或链接都将是惊人的。