Re: understanding conversions between CF and NS datatypes
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