我设置了窗口的父属性,当我检查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