ios - how to access a sub class object property if just give the super class object -


i have super class chartmodel, , sub classes chartmodel, in there model called linechartmodel, , has property categorytype.

now have method accept 1 parameter (datamodel *) like:

- (void) showchartwithmodel:(chartmodel *)datamodel {     if ([datamodel respondstoselector:@selector(categorytype)]) {         if ([datamodel categorytype] == categorytypedate) { // compiler error          }     } } 

now compiler complains [datamodel categorytype], because categorytype not defined in chartmodel. do not want put categorytype super class, because not every chart has such property. how fix this? thanks.

you cast datamodel id:

- (void) showchartwithmodel:(chartmodel *)datamodel {     if ([datamodel respondstoselector:@selector(categorytype)]) {         if ([(id)datamodel categorytype] == categorytypedate) { // compiler error          }     } } 

or cast linechartmodel, in case that's i'd test for:

- (void) showchartwithmodel:(chartmodel *)datamodel {     if ([datamodel iskindofclass:[linechartmodel class]]) {         if ([(linechartmodel *)datamodel categorytype] == categorytypedate) { // compiler error          }     } } 

Comments

Popular posts from this blog

android - MPAndroidChart - How to add Annotations or images to the chart -

javascript - Add class to another page attribute using URL id - Jquery -

firefox - Where is 'webgl.osmesalib' parameter? -