问题
Let's say in Apple API version 1.0, there is a class NSFoo with a property 'color'. API 1.1 adds property 'size'.
I want to know whether I can use the getter: myFoo.size
[myFoo respondsToSelector:@selector(getSize)] doesn't work as expected.
What's the correct way to find out if an object has a property? Thanks!
回答1:
You're close. Your selector should be exactly the message you want to send to the object:
if ( [myFoo respondsToSelector:@selector(size)] ) {
int size = [myFoo size]; // or myFoo.size in dot-notation.
// ...
}
should work.
来源:https://stackoverflow.com/questions/3059029/how-can-you-find-out-if-an-nsobject-has-a-certain-property