Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7788757
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 1, 20262026-06-01T21:05:09+00:00 2026-06-01T21:05:09+00:00

I have used some code from Apple’s ‘Camera Programming Topics for iOS’ guide as

  • 0

I have used some code from Apple’s ‘Camera Programming Topics for iOS’ guide as follows:

UIImagePickerController *cameraUI = [[UIImagePickerController alloc] init];
cameraUI.sourceType = UIImagePickerControllerSourceTypeCamera;

// Displays a control that allows the user to only take picture:
cameraUI.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeImage, nil];

// Hides the controls for moving & scaling pictures, or for trimming movies. To instead show the controls, use YES.
cameraUI.allowsEditing = NO;

cameraUI.delegate = delegate;

[controller presentModalViewController: cameraUI animated: YES];
[cameraUI release];

However, when I ‘Analyze’ my code, Xcode says I have a potential leak from the following line:

cameraUI.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeImage, nil];

I have no other release commands than those shown above. Given the array in question is an attribute of cameraUI (which is released), Im not sure what I should do (if anything).

Any thoughts?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-01T21:05:11+00:00Added an answer on June 1, 2026 at 9:05 pm

    Unless cameraUI.mediaTypes property is defined with assign, there is indeed a leak here. It may help to break up the line into multiple steps, just for instruction.

    NSArray* mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeImage, nil];
    cameraUI.mediaTypes = mediaTypes;
    

    If cameraUI takes care of its own memory, it shouldn’t matter what you assign or when. But, in that first line, you’re constructing a variable but never releasing it. So, how do you fix this? The standard way to fix it is by autoreleasing during construction.

    cameraUI.mediaTypes = [[[NSArray alloc] initWithObjects: (NSString *) kUTTypeImage, nil] autorelease];
    

    If you’re working with very large objects that must be released as soon as possible, you’ll need to manually release it once it’s been passed to cameraUI:

    NSArray* mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeImage, nil];
    cameraUI.mediaTypes = mediaTypes;
    [mediaTypes release];
    

    Only use the second form if you need it – it’s much more prone to error.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have some problem with my cfml website. I have used the below code
I have some legacy code that was used to monitor my applications cpu,memory etc
I'm making some fairly basic shapes in OpenGL-ES based on sample code from Apple.
I have used ElasticMapReduce for some time. It is quite convenient but I can't
I have generally always used some sort of Hungarian Notation for my field names
I am new to MySQL, but I have used Oracle for some time. I
I have used this forum for a while now to find answers to some
I see an application have used Log.info = some info where are these logs
I have used fieldset tag in HTML page, whereby i need some text to
I have Used Dojo 1.0, but I have some version related questions: When will

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.