summaryrefslogtreecommitdiff
path: root/UICaboodle/RVPage.h
diff options
context:
space:
mode:
authorGrant Paul <chpwn@chpwn.com>2011-02-11 23:27:43 -0800
committerGrant Paul <chpwn@chpwn.com>2011-02-11 23:27:43 -0800
commit35f0a3b5de5a22872f7fbd96183f510a5ad80aa0 (patch)
tree0de40ea9ad9f05a88e29ae905856016dfb31786b /UICaboodle/RVPage.h
parent32102f847292d56cf80f125eaea743f246c048a7 (diff)
parent36fa2ea5375250c9059b83ecd7bd05af56730fa9 (diff)
Move -init into -loadView -viewDidLoad and friends, as Apple wants. Add -navigationURL and persistance (15 minute timeout) of Cydia sessions, with full lazy-loading of view controllers. Still failed to fix the URL->blackscreen bug, although now it just shows the wrong tab instaed of a black screen (really, WTF, UITabBarController?)
Diffstat (limited to 'UICaboodle/RVPage.h')
-rw-r--r--UICaboodle/RVPage.h23
1 files changed, 22 insertions, 1 deletions
diff --git a/UICaboodle/RVPage.h b/UICaboodle/RVPage.h
index 1f39428..5d1346e 100644
--- a/UICaboodle/RVPage.h
+++ b/UICaboodle/RVPage.h
@@ -2,10 +2,31 @@
#import <UIKit/UIKit.h>
+@interface UIViewController (Cydia)
+- (BOOL) hasLoaded;
+@end
+
@interface CYViewController : UIViewController {
id delegate_;
+ BOOL loaded_;
}
-- (void)setDelegate:(id)delegate;
+
+// The default implementation of this method is essentially a no-op,
+// but calling the superclass implementation is *required*.
- (void) reloadData;
+// This URL is used to save the state of the view controller. Return
+// nil if you cannot or should not save the URL for this page.
+- (NSURL *)navigationURL;
+// By default, this delegate is unused. However, it's provided here in case
+// you need some kind of delegate in a subclass.
+- (void) setDelegate:(id)delegate;
+- (id)delegate;
+// Override this in subclasses if you manage the "has seen first load" state yourself.
+- (BOOL) hasLoaded;
+// This is called when the view managed by the view controller is released.
+// That is not always when the controller itself is released: it also can
+// happen when more memory is needed by the system or whenever the controller
+// just happens not to be visible.
+- (void) releaseSubviews;
@end