Я хочу интегрировать один пример кода с моим приложением iPhone (например, с проектом SampleCode). В примере кода в 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, и когда firstView появляется при нажатии кнопки Камера может быть открыта путем вызова метода 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) я хочу вызвать firstViewController из SampleCode с одним из viewController MyApplicationViewControllerA напрямую, без добавления в MyApplicationAppDelegate.
Поэтому я хочу создать делегата в MyApplicationViewControllerA viewController, который должен работать как appdelegate в приложении SampleCode. Я не могу открыть камеру, но после закрытия камеры я не могу открыть любое другое представление MyApplication, кроме MyApplicationViewControllerA. Я пытаюсь pushViewController и modalViewController не отображать другой View.
Меня не смущает делегат. Поэтому я хочу знать, в чем разница между AppDelegate (в SampleCodeAppDelegate : NSObject <UIApplicationDelegate>
) и делегатом, объявленным в другом ViewContrller.