In order for @properties to work thoroughly the class should be a subclass of item. when The category isn't a subclass of object then The very first time you are trying access the setter it in fact makes a whole new attribute While using the shorter name as an alternative https://plotsgwalpahari.blogspot.com/