X Code 4.2 でのMainWindow.xibの作り方

久々の更新だず。

今日はX Code4.2で MainWindow.xibを使う方法についてメモしたいと思います。

まず、新しいプロジェクトを作成。



テンプレートから"Empty Application"を選択。



任意のプロジェクト名を入力してプロジェクトを作って。


作成されたプロジェクトはこんな感じ。


次にMainWindowを追加。
新しいファイルを選択して、"Empty"を選択。
Xibの名前を"MainWindow"にし作成。


ViewControllerを作成。
新しいファイルをクリックして、"UIViewController Sub Class"を選択。
Xibの名前を"ViewController"にし作成。


"AppDelegate.h"を下記のように変更。
※赤字が変更箇所。

#import


@interface AppDelegate : UIResponder
{
UIViewController *ViewController;//Add
}

@property (strong, nonatomic) IBOutlet UIWindow *window;

@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext;
@property (readonly, strong, nonatomic) NSManagedObjectModel *managedObjectModel;
@property (readonly, strong, nonatomic) NSPersistentStoreCoordinator *persistentStoreCoordinator;
@property (strong ,nonatomic) IBOutlet UIViewController *ViewController;//Add
-(void)saveContext;
-(NSURL *)applicationDocumentsDirectory;

@end


"AppDelegate.m"を下記のように変更。

#import "AppDelegate.h"
#import "ViewController.h"
@implementation AppDelegate

@synthesize window = _window;
@synthesize managedObjectContext = __managedObjectContext;
@synthesize managedObjectModel = __managedObjectModel;
@synthesize persistentStoreCoordinator = __persistentStoreCoordinator;
@synthesize ViewController = _ViewController;//Add

  • (void)dealloc

{
[_window release];
[__managedObjectContext release];
[__managedObjectModel release];
[__persistentStoreCoordinator release];
[_ViewController release];//Add
[super dealloc];
}

  • (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{
// self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.

// self.window.backgroundColor = [UIColor whiteColor];//Comment Out
_ViewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];//Add
[self.window addSubview:_ViewController.view];//Add
[self.window makeKeyAndVisible];
return YES;
}

つぎに"MainWindow.xib"の編集。
まず、"Object"を追加、そんで、"Window"、"ViewController"も追加。


"Object"のクラスを"AppDelegate"に変更。



もうちょいっす。頑張れ!眠いけど、頑張るんだオレ!

"File's Owner"のクラスを"UIApplication"に変更。

"ViewController"のクラスを"UIViewController"から"ViewController"へ変更。


"App Delegate"(Object)、"Window"、"ViewController"、"File's Owner"をコネクタで結ぶ。
※画像を参考にしてね。


"ViewController.xib"を選択し背景色をピンクに変更。
※"ViewController.xib"が正しく呼び出されているかを検証するため。


最後に"Main Interface"で"MainWindow"を選択して...


実行!!

背景色がピンクの画面が表示されたんで、成功!!