• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
ARC Extending Lifetime of Objects
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ARC Extending Lifetime of Objects


  • Subject: ARC Extending Lifetime of Objects
  • From: Andreas Grosam <email@hidden>
  • Date: Mon, 23 Jul 2012 10:00:52 +0200

Suppose, I have C-arrays defined as follows:

int count = [dictionary count];
id __unsafe_unretained values[count];
id __unsafe_unretained keys[count];


I fill these arrays with:

[dictionary getObjects:values andKeys:keys];



Now, I would like to "reuse" these arrays through holding objects maintained by ARC (if possible):

for (int i = 0; i < count; ++i) {
    keys[i] = [keys[i] copy];
    values[i] = [values[i]] copy];
}
NSDictionary *other = [NSDictionary dictionaryWithObjects:values forKeys:keys count:count];



This won't work in ARC, since the arrays are declared __unsafe_unretained and this would cause the newly created object immediately be deallocated once it is assigned to the array's element.

What I would like to avoid is to use separate arrays (appropriately declared), and also avoid to disable ARC and maintain the release counts manually.

Is there a way to extend the lifetime of the created objects, or is there a way to "re-declare" the arrays so that ARC can maintain the references - or is there any other simple "trick"?


Thanks for suggestions!  ;)

Andreas
_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: ARC Extending Lifetime of Objects
      • From: James Montgomerie <email@hidden>
    • Re: ARC Extending Lifetime of Objects
      • From: Ken Thomases <email@hidden>
    • Re: ARC Extending Lifetime of Objects
      • From: Mike Abdullah <email@hidden>
  • Prev by Date: Re: [NSSound isPlaying] fails to indicate sound termination in Lion
  • Next by Date: Re: [NSSound isPlaying] fails to indicate sound termination in Lion
  • Previous by thread: Re: Profound UITableView rendering-performance problem, but only at certain positions?
  • Next by thread: Re: ARC Extending Lifetime of Objects
  • Index(es):
    • Date
    • Thread