首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在弹出窗口仍然可见的情况下达到UIPopovercontroller取消分配

在弹出窗口仍然可见的情况下达到UIPopovercontroller取消分配
EN

Stack Overflow用户
提问于 2012-01-17 21:04:18
回答 2查看 29.4K关注 0票数 111

我向你保证,我确实为我的问题寻找了答案,但没有一个是有帮助的。这里我得到了一个简单的代码,它应该在UIPopoverController中显示一个UIImagePickerController

代码语言:javascript
复制
-(void)takePicture:(id)sender{
UIImagePickerController *picker=[[UIImagePickerController alloc] init];
picker.delegate=self;
picker.sourceType=UIImagePickerControllerSourceTypeCamera;
picker.allowsEditing=YES;
UIPopoverController *poc=[[UIPopoverController alloc] 
                            initWithContentViewController:picker];
[poc presentPopoverFromBarButtonItem:bbItem 
            permittedArrowDirections:UIPopoverArrowDirectionAny
                            animated:NO];
}

现在,即使是我第一次联系到[UIPopoveController dealloc]的时候...错误,程序就会崩溃。我没有做任何保留,释放或自动释放根据ARC。当受益于UIPopoverControllers时,有什么特别的考虑吗?

EN

回答 2

Stack Overflow用户

发布于 2012-01-17 22:23:35

当函数退出时,没有其他对popover控制器的引用,所以它过早地被释放了。

尝试将其添加为您的类的成员。

时间

票数 11
EN

Stack Overflow用户

发布于 2013-03-13 03:13:02

添加@phix23回答的内容,像这样创建*poc属性:

代码语言:javascript
复制
@property (nonatomic, retain) IBOutlet UIPopoverController *poc;

然后改变

代码语言:javascript
复制
UIPopoverController *poc = [[UIPopoverController alloc] 
                            initWithContentViewController:picker];

代码语言:javascript
复制
self.poc = [[UIPopoverController alloc] 
                            initWithContentViewController:picker];
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8895071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档