@ eJames и @ Diederik являются правильными. Однако есть несколько других вариантов, некоторые из которых могут быть предпочтительнее в зависимости от вашего вкуса.
Например, вместо проверки на равенство объектов класса вы также можете использовать -isMemberOfClass:
, который исключает подклассы, тогда как -isKindOfClass:
и -isSubclassOfClass:
нет. (Это определенно тот случай, когда один вариант может быть более интуитивно понятным для некоторых людей, чем для других.)
Кроме того, [SomeClass className]
или [anObject className]
являются удобными, более короткими способами получения имени класса как NSString
. (Я знаю, -className
определено в NSObject, и +className
работает для прототипов классов, хотя я не могу найти документацию для него с готовностью.)