首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xcode 4静态代码分析问题

Xcode 4静态代码分析问题
EN

Stack Overflow用户
提问于 2011-07-08 22:55:55
回答 1查看 516关注 0票数 2

这是我之前关于Xcode4静态分析器问题的后续。这不是一个特别的问题,因为我现在有了需要的代码,但我只是想知道事情是如何在幕后工作的。考虑以下代码:

代码语言:javascript
复制
- (IBAction)cameraButtonPressed:(id)sender
{
    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera] == NO)
    {
        return;
    }

    UIImagePickerController *cameraUI = [[UIImagePickerController alloc] init];
    cameraUI.sourceType = UIImagePickerControllerSourceTypeCamera;
    cameraUI.allowsEditing = NO;
    cameraUI.delegate = self;
    [self presentModalViewController:cameraUI animated:YES];

    NSString *theString = [[NSString alloc] initWithString:@"cameraButtonPressed done"];
    NSLog(@"%@", theString);
}

在我看来,这段代码有两个对象(cameraUI和theString)需要发布。然而,analyze函数正确地识别出只需要在方法结束时释放theString,即使这两个对象都是从alloc-init返回的,根据我的经验,这始终意味着您应该在完成后释放。

我这里的问题是,静态代码分析器如何知道不将cameraUI标记为问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-09 00:24:39

我认为这是静态分析器的一个bug。分配给cameraUI的UIImagePickerController实例应该在非垃圾收集环境(如iOS)中释放或自动释放。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6626282

复制
相关文章

相似问题

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