アプリがロードされたときに、plist に設定した値に応じて 3 つの異なるビューからロードできるロジックをいくつか作成しました。
これは私のコードがどのように見えるかです
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//sets context for coredata
CoreDataController *coreDataController = [CoreDataController sharedManager];
coreDataController.managedObjectContext = self.managedObjectContext;
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
PrefsController *prefsController = [[PrefsController alloc] init];
NSDictionary *prefsDictionary = [prefsController readPrefs];
NSLog(@"%@", prefsDictionary);
NSString *projectListBoolString = [prefsDictionary objectForKey:@"ProjectListAvailable"];
NSString *installsBoolString = [prefsDictionary objectForKey:@"InstallsAvailable"];
NSString *finishinBoolString = [prefsDictionary objectForKey:@"FinishingAvailable"];
if (([projectListBoolString isEqualToString:@"T"]) && ([installsBoolString isEqualToString:@"F"]) && ([finishinBoolString isEqualToString:@"F"])) {
self.getProjectListViewController = [[GetProjectListViewController alloc] initWithNibName:@"GetProjectListViewController" bundle:nil];
self.window.rootViewController = self.getProjectListViewController;
[self.window makeKeyAndVisible];
}
else if (([projectListBoolString isEqualToString:@"T"]) && ([installsBoolString isEqualToString:@"T"]) && ([finishinBoolString isEqualToString:@"T"])) {
self.currentProjectListViewController = [[CurrentProjectListViewController alloc] initWithNibName:@"CurrentProjectListViewController" bundle:nil];
self.window.rootViewController = self.currentProjectListViewController;
[self.window makeKeyAndVisible];
}
else {
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
}
return YES;
}
次に、UIViewControllers をロードおよびアンロードできるようにしたいと思います (ボタンを押してメモリから削除するなど)。
より理にかなっている場合は、ビューを静的または個別にしたいので、navigaiton ベースのコントローラーを使用したくありません。
誰かが新しい UIViewController をウィンドウにロードし、古い UIViewController を削除するコード例を見せてくれれば、大いに感謝します。
ただし、これを処理するのが正しいかどうか、またはコードがどのように見えるかさえわかりません。
どんな助けでも大歓迎です。