Кто-нибудь может сказать мне, когда использовать категории и когда использовать подклассы в Objective-C? Также расскажите, пожалуйста, о их преимуществах и недостатках.