2012-08-10 100 views
0

可能有人请帮我用下面的代码:委托未设置

- (IBAction)addCellButton: (UIBarButtonItem *)sender 
{ 
    if(!self.imagePopover) 
    { 
     AlbumPicker *albumPicker = [self.storyboard instantiateViewControllerWithIdentifier:@"MultipleImagePicker"]; 
     self.imagePopover = [[UIPopoverController alloc] initWithContentViewController:albumPicker]; 
     albumPicker.delegate = self; 
     NSLog(@"%@", albumPicker.delegate); 
     [self.imagePopover presentPopoverFromBarButtonItem:sender 
            permittedArrowDirections:UIPopoverArrowDirectionAny 
                animated:YES]; 
     self.imagePopover.delegate = self; 
    } 
} 

的问题是是,当我被打印出来检查委托我albumPicker.m,它被设置为nil?我是否正确设置代表?

+0

你确定'albumPicker'本身不是零? – 2012-08-10 01:58:56

+0

它似乎不是零。我只是打印它的内容来检查它。它不是零。当我打印albumPicker.delegate时,上面的代码中不是零 – 2012-08-10 02:12:11

+0

那么什么是零? imagePopover.delegate或albumPicker.delegate? – rdelmar 2012-08-10 02:50:35

回答

1

看来你已经以正确的方式设置了委托。我认为如果代表工作正常,这可能是由于代表的财产。我隐约记住,在Google(或Apple)编码指南中,代表的财产应设置为assigned而不是retain

另外,你的问题似乎对我来说还不清楚。我想如果你想检查委托是否工作,你最好设置一个委托方法,看看是否调用了方法。