用正確的類聲明指針,而不僅僅是UIViewController。
爲避免循環聲明,請使用@class MyOwningViewController;
。例如,MyContainedViewController.h:
但包括MyContainedViewController.m(除了可能包括MyContainedViewController.h在MyOwningViewController.m)通常MyOwningViewController.h。
MyOwningViewController.h:
#import "MyContainedViewConroller.h" // Though you could use @class here as well
@interface MyOwningViewController {
MyContainedViewController* containedViewController;
}
@property (strong, nonatomic) MyContainedViewController* containedViewController;
-(void) myMethod;
@end;
最後,在MyContainedViewController.m:
#import "MyOwningViewController.h"
...
-(void) doSomething {
[owningViewController myMethod];
}
類不創建類。你有一個由不同類的*實例*創建的類的*實例*。區別很重要。 –
謝謝。問題相應調整。 – CaptainProg