Я хочу интегрировать один пример кода с (например, проектом SampleCode) моего приложения для iPhone. В этом примере код в firstViewController добавляется в MainWindow.xib и связывается с viewController
, созданным в приведенном ниже коде.
@interface SampleCodeAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
firstViewController *viewController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet firstViewController *viewController;
и viewController создаются с помощью initWithCoder, и при первом появлении первого нажатия при нажатии кнопки камера может быть открыта с использованием метода OpenCamera, как показано в следующем коде.
//in firstViewController.mm file
- (id)initWithCoder:(NSCoder *)coder {
if (self = [super initWithCoder:coder]) {
}
[self initLocal];
return self;
}
//to open camera in SampleCode application
- (IBAction)OpenCamera {
UIApplication *app = [UIApplication sharedApplication];
SampleCodeAppDelegate* delegate = [app delegate];
UIViewController* uiViewCont = [delegate viewController];
((CCamera*)m_pCamera)->Camera(uiViewCont);
}
В моем приложении на основе навигации (MyApplication) Iхочу вызвать firstViewController из SampleCode с одним из viewController MyApplicationViewControllerA напрямую, без добавления в MyApplicationAppDelegate.
Поэтому я хочу, чтобы при создании делегата в MyApplicationViewControllerA viewController, который должен работать как приложение appdelegate в SampleCode.Я не могу открыть камеру, но после закрытия камеры я не могу открыть любой другой вид MyApplication, кроме MyApplicationViewControllerA.Я пытаюсь pushViewController и modalViewController не в состоянии отрисовать другой View.
Я не запутался в делегате.Поэтому я хочу знать, в чем разница между AppDelegate (в SampleCodeAppDelegate : NSObject <UIApplicationDelegate>
) и делегатом, объявленным в другом ViewContrller.