• 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: Negm-Awad Amin <email@hidden>
  • Date: Fri, 5 Sep 2008 09:24:48 +0200


Am Do,04.09.2008 um 20:20 schrieb Michael Ash:

On Thu, Sep 4, 2008 at 1:40 PM, Negm-Awad Amin <negm- email@hidden> wrote:

Am Do,04.09.2008 um 18:27 schrieb Michael Ash:

On Thu, Sep 4, 2008 at 10:41 AM, Negm-Awad Amin <email@hidden >
wrote:

Am Sa,30.08.2008 um 05:22 schrieb Michael Ash:

Ultimately the most important thing to understand about toll-free
bridging (the link between CF and NS data types) is that you don't
have to convert anything. You *can't* convert anything. Because they
aren't two different things. An NSArray *is* a CFArray. An
NSMutableArray is a CFMutableArray. They are just two different names
for the same type.

I'm not sure, whether this is completly correct. I would prefer to say,
that
are two different names of two different types, which are
interchangeable.

No, they are the same type.

But AFAIK in some (rare) cases, CF and NS behaves differently.

Meaningless. You can subclass NSArray and get whatever behavior you want. The result is still an NSArray (and still a CFArray).

But I wouldn't say, that a subclass of a baseclass is the same type as the
baseclass. You can assign a subclass instacne to a baseclass pointer and
there is no casting, so indeed the situation is similiar to NSArray and
CFArray.

Subclassing is supposed to be an "is a" relationship. In other words, if I subclass NSMutableArray and call the new class a MyMutableArray, then a MyMutableArray is an NSMutableArray. An NSMutableArray is in turn an NSArray, and an NSArray is an NSObject.

Likewise, an NSArray is a CFArray, and a CFArray is an NSArray. They
are just two different names for the same thing. The fact that you can
obtain different behaviors depending on how you create them is not all
that interesting, as that happens *anyway* with many different
classes.
I completly agree, that an instance of a subclass "is a(n)" instance of the baseclass. No doubt.
But, if I understood you correct, you said that the subclass and a baseclass are the same type (as CFArray and NSArray are). Since type is a formal term, I do not agree with this statement.
Of course, with subclassing the term type became more shaded. But I think, that there is still a formal meaning of it.




But saying, that assigning proves the type identity (correct word?) …

Not sure what you mean here.
1: You said, that one can pass around CFArrays and NSArrays. I agreed.
2: You said this in relation to its type identity. I did not agree.
I simply wanted to say, that even if statement 1 is true, you cannot say, whether statement 2 is true.


Amin



Mike
_______________________________________________

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

Amin Negm-Awad email@hidden




_______________________________________________

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: "Michael Ash" <email@hidden>
References: 
 >Re: understanding conversions between CF and NS datatypes (From: Negm-Awad Amin <email@hidden>)
 >Re: understanding conversions between CF and NS datatypes (From: "Michael Ash" <email@hidden>)
 >Re: understanding conversions between CF and NS datatypes (From: Negm-Awad Amin <email@hidden>)
 >Re: understanding conversions between CF and NS datatypes (From: "Michael Ash" <email@hidden>)

  • Prev by Date: Re: How to observe NSTreeController in a custom view?
  • Next by Date: Re: How to observe NSTreeController in a custom view?
  • 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