Skip navigation.
 
mlRe: Problems with ScriptingBridge and iTunes
FROM : Jens Alfke
DATE : Mon Mar 03 07:32:30 2008

On 2 Mar '08, at 4:54 AM, Steven Degutis wrote:

> I think it's clear why [currentTrack
> isKindOfClass:[iTunesFileTrack class]] evaluates to true: in the
> previous line, you defined it as such, like this:
> iTunesTrack *currentTrack = [iTunes currentTrack];
> So obviously it is an iTunesTrack!


No. It could be an instance of a subclass of iTunesTrack, such as (in 
this case) iTunesFileTrack. (That's true of any object-oriented 
language.)

> Try this:
> iTunesFileTrack *currentTrack = [iTunesFileTrack currentTrack];


That won't even compile. You can't assign an iTunesTrack* to an 
iTunesFileTrack*.

Moreover, since Obj-C is a dynamic language, it's more important what 
the class of the object is at runtime, than what type the pointers are 
defined as at compile time. You can change the type declarations, but 
it won't affect what actual objects you get back at runtime.

—Jens

Related mailsAuthorDate
mlProblems with ScriptingBridge and iTunes Hannes Petri Mar 2, 02:28
mlRe: Problems with ScriptingBridge and iTunes Jonathan 'Wolf' Re… Mar 2, 06:06
mlRe: Problems with ScriptingBridge and iTunes has Mar 2, 13:05
mlRe: Problems with ScriptingBridge and iTunes Steven Degutis Mar 2, 13:54
mlRe: Problems with ScriptingBridge and iTunes has Mar 3, 00:02
mlRe: Problems with ScriptingBridge and iTunes Adam P Jenkins Mar 3, 00:16
mlRe: Problems with ScriptingBridge and iTunes Adam P Jenkins Mar 3, 00:40
mlRe: Problems with ScriptingBridge and iTunes has Mar 3, 01:44
mlRe: Problems with ScriptingBridge and iTunes Jens Alfke Mar 3, 07:32
mlRe: Problems with ScriptingBridge and iTunes has Mar 3, 16:21
mlRe: Problems with ScriptingBridge and iTunes Steven Degutis Mar 3, 16:27
mlRe: Problems with ScriptingBridge and iTunes Christopher Nebel Mar 3, 21:22
mlRe: Problems with ScriptingBridge and iTunes has Mar 3, 22:45