In order for @properties to work appropriately The category must be a subclass of object. when The category is not a subclass of object then The very first time you try obtain the setter it basically makes a completely new attribute While using the shorter name instead of accessing throughout https://builderfloordwarkaexpressway.blogspot.com/