• 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
Re: understanding conversions between CF and NS datatypes
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: understanding conversions between CF and NS datatypes


  • Subject: Re: understanding conversions between CF and NS datatypes
  • From: "Allen Curtis" <email@hidden>
  • Date: Fri, 29 Aug 2008 13:28:58 -0700

Based on the information in the "interchangable data types" document, Would
it be possible to do the following?

  NSMutableArray serialPorts = [[NSMutableArray alloc] init];
  GetSerialPortPaths(serialServices, (CFMutableArrayRef)serialPorts);
  printf("Found %d serial ports\n", [serialPorts count]);

This way I do not have multiple copies. The NSMutableArray is populated
directly.

TIA

Allen

On Fri, Aug 29, 2008 at 12:22 PM, Randall Meadows <email@hidden>wrote:

> On Aug 29, 2008, at 11:38 AM, Allen Curtis wrote:
>
>  I am writing a Cocoa application for accessing a serial device. (IOKit) In
>> order to do this, you need to translate between CF and NS data types. (I
>> believe)
>>
>> For instance:
>>       CFMutableArrayRef devicePaths = CFArrayCreateMutable(NULL, 0, NULL);
>>
>>       GetSerialPortPaths(serialServices, devicePaths);  // Fills in
>> CFMutableArray
>>       serialPorts = (NSMutableArray *) devicePaths;
>>       //CFRelease(devicePaths);
>>       printf("Found %d serial ports\n", [serialPorts count]);
>>
>> The problem:  I found that if you release the CFMutableArray, you also
>> loose
>> the NSMutableArray
>>
>
> Yep, because you're merely casting types, you're not creating a new object.
>
>  Question:
>> 1. Where can I get a better understanding of the data conversion between
>> these different frameworks?
>>
>
> Does <
> http://developer.apple.com/documentation/Cocoa/Conceptual/CarbonCocoaDoc/Articles/InterchangeableDataTypes.html>
> help?
>
>  2. Ultimately the device path names will appear in a ComboBox. Was it
>> necessary to convert the CFMutableArray to a NSMutableArray for the
>> datasource function?
>>
>
> I don't know about "necessary", but it's certainly convenient, because then
> you can use the (IMO) more convenient accessors of NSArray.
>
>
_______________________________________________

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: understanding conversions between CF and NS datatypes
      • From: Randall Meadows <email@hidden>
References: 
 >understanding conversions between CF and NS datatypes (From: "Allen Curtis" <email@hidden>)
 >Re: understanding conversions between CF and NS datatypes (From: Randall Meadows <email@hidden>)

  • Prev by Date: Re: Connecting NSToolbar and NSTabView
  • Next by Date: Re: File Extensions Problem
  • Previous by thread: Re: understanding conversions between CF and NS datatypes
  • Next by thread: Re: understanding conversions between CF and NS datatypes
  • Index(es):
    • Date
    • Thread