I'm still pretty new to ObjC. I noticed that it's pretty standard everywhere to create your
@interface myObj : NSObject {
id delegate;
NSDictionary *dict;
}
and then
@property (nonatomic,retain) NSDictionary *dict;
@property (retain) id delegate;
--for example. I know how useful the auto code generation + clearer definition of @property is thanks to the Declared Properties page over at Apple. What I do not understand, however, is why it's standard for people to do both -- declare their properties and then have them again in the {curly brackets}.
I mean, if I had a class where I wanted some of the variables to have auto getters/setters and some not to, then I would understand having the {} block for my regular vars and then only creating @property/@synthesize statements for just those specific variables I wanted to have the added functionality; but why is it standard to always have both in cases where you know that you want all of your instance vars to have the getters and setters? I guess I'm tripping out because I'm basically seeing it used like this 100% of the time when I feel like it really isn't necessary... just declare the @properties and leave it at that.
Thoughts? Best coding practice suggestions? Or is there some information I'm missing here?