Я читаю Программирование iOS4 от O'Rielly и использую немного более новую версию XCode, чем та, которую использует книга.Однако это небольшое изменение привело к некоторой путанице, потому что я не могу создать приложение на основе окна, используя XCode 4.2.
Во всяком случае, я запустил пустой проект, который дал мне структуру barebone для приложения iPhone безMainWindow.xib.Мне уже дали делегата проекта .h и .m.Я приступил к созданию собственного MainWindow.xib.Я понял, что мне нужно было установить «Основное имя файла основного пера» на «MainWindow», чтобы мой перо появилось вообще, и я сделал это.
Внутри моего MainWindow.xib я добавил кнопку под объектом окна, чтобы убедиться, что у меня есть то, что я хочу, когда я запускаю проект.Это состояние моего пера прямо сейчас
![MainWindow.xib](https://i.stack.imgur.com/qtMDi.png)
Не внося никаких изменений в AppDelegate.h и AppDelegate.m, я создал и запустил свой проект.Я смог увидеть кнопку!ОДНАКО, я не мог нажать на кнопку, и когда я нажал кнопку «Домой» и возобновил свое пустое приложение, я больше не мог видеть кнопку!Вот некоторые файлы, в которые я не вносил никаких изменений:
main.m
#import <UIKit/UIKit.h>
#import "EmptyWindowAppDelegate.h"
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([EmptyWindowAppDelegate class]));
}
}
EmptyWindowAppDelegate.m
#import "EmptyWindowAppDelegate.h"
@implementation EmptyWindowAppDelegate
@synthesize window = _window;
@synthesize managedObjectContext = __managedObjectContext;
@synthesize managedObjectModel = __managedObjectModel;
@synthesize persistentStoreCoordinator = __persistentStoreCoordinator;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}
//...Omitted