Minor thing but this seems like an odd way to do it, I believe traditionally in Obj-C when having setter code you generally check if the values aren't equal and then do what you need to do rather than checking for equality and exiting out.