+
+- (id) delegate {
+ return delegate_;
+}
+
+- (void) viewWillAppear:(BOOL)animated {
+ [super viewWillAppear:animated];
+
+ // Load on first appearance. We don't need to set the loaded flag here
+ // because it is set for us the first time -reloadData is called.
+ if (![self hasLoaded])
+ [self reloadData];
+}
+
+- (BOOL) hasLoaded {
+ return loaded_;
+}
+
+- (void) releaseSubviews {
+ // Do nothing.
+}
+
+- (void) setView:(UIView *)view {
+ // Nasty hack for 2.x-compatibility. In 3.0+, we can and
+ // should just override -viewDidUnload instead.
+ if (view == nil)
+ [self releaseSubviews];
+
+ [super setView:view];
+}
+