我設置了窗口的父屬性,當我檢查windowDidLoad
中的屬性時,一切都很好。但是當我在IBAction
中檢查它時,它是零。我在這裏錯過了什麼?物業IBAction失去價值
AppController.m
loginController = [[LoginController alloc] initWithWindowNibName:@"Login" owner:self];
loginController.parent = self;
[[loginController window] makeKeyAndOrderFront:self];
LoginController.h
@property (nonatomic, weak) AppController *parent;
LoginController.m @synthesize父母;
- (void)windowDidLoad
{
[super windowDidLoad];
NSLog(@"Parent: %@", self.parent); //<--- Parent: <AppController: 0xblahblah>
}
- (IBAction)login:(id)sender
{
NSLog(@"Parent: %@", self.parent); //<--- nil
}
如果loginController不是弱屬性,那麼存在一個保留週期,因爲AppController持有一個強指向LoginController的指針,反之亦然。 – 2013-03-11 20:38:54
@RamyAlZuhouri我把它當成了弱點,並將它切換到上面,看看它是否有所作爲。 – Bot 2013-03-11 21:09:26
你有沒有注意到有什麼區別? – 2013-03-11 21:28:43