私のiPhoneアプリケーションとサンプルコードを(例えばSampleCodeプロジェクト)統合したいのですが、firstViewControllerのサンプルコードはMainWindow.xibに追加され、下のコードで作成されたviewController
にリンクされています。ビューコントローラのappdelegateとdelegateの違い
@interface SampleCodeAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
firstViewController *viewController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet firstViewController *viewController;
とのViewController initWithCoderでインスタンス化し、firstViewは、ボタンカメラのタップに登場したとき、以下のコードのようにOpenCameraメソッドを呼び出すことが開くことができます。私のナビゲーションベースのアプリケーション(MyApplicationという)では
//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);
}
私はMyApplicationAppDelegateに追加することなく、直接のViewController MyApplicationViewControllerAの一つとのSampleCodeのfirstViewControllerを呼び出したいです。
私は、MyApplicationViewControllerA viewControllerでデリゲートを作成していて、SampleCodeアプリケーションのappdelegateとして機能する必要があります。 私はカメラを開くことができませんが、カメラを閉じた後、MyApplicationViewControllerA以外のMyApplicationの他のビューを開くことができません。 私はpushViewControllerとmodalViewControllerが他のViewをレンダリングすることができません。
私はデリゲートについて混乱していません。だから、私はAppDelegate(SampleCodeAppDelegate : NSObject <UIApplicationDelegate>
)と他のViewContrllerで宣言されたデリゲートの違いを知りたい。
[self initLocal];あなたの "if(self = [super init ...]"ブロック内にあるはずです。スーパーinitが失敗した場合は、オブジェクトを設定しようとしたくない場合があります。ちょうど自己を返します(これはゼロになります)。 – occulus