Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialAustin O'Hara
845 PointsGetter Setters, really?
Is it possible in Objective C that (if the variable is public) I can access the var directly like MyFancyInstance.MyFancyVar = 4; instead of MyFancyInstance.SetMyFancyVar(4);
I am not a programming noob, I know Java, Ruby and other languages VERY well, but until now I've had a slight phobia of C and Descendants... I know OO and everything, but nothing C or Obj-C specific.
4 Answers
Rashii Henry
16,433 PointsAre you asking if you declare a public variable? im assuming you mean decalring it in the header(.h) file. Can you access it with the dot syntax. Well, if you declare it as a property in your header(.h) file you can use the dot syntax in any scope of that class. Declaring a property automatically defines the setters and getters for you.
Austin O'Hara
845 PointsOoops, I though this was a comment. Nvm this
Rashii Henry
16,433 Pointsyou could always just initialize the variable as soon as you create it, all in one line if your sure its going to remain static or non-changing. Whenever you start using brackets in objective-c your usually calling a method.. whether its on a class, a variable, etc. I believe you're understanding what you're doing, you just look at the syntax and get pretty confused.
there are different ways to define variables. you could easily declare: float radius = 3; and pass radius around whenever you need it. or you could declare it without initializing it: float radius; Then whenever you want to, you can change the value for radius in whichever scope you want. All of which, im pretty sure you know how to do. But as far as getting and setting values the way that you just mentioned, i dont think it works like that.
Austin O'Hara
845 PointsOh great, so I have to make my own Dialect of Objective-C...
Rashii Henry
16,433 Pointsyeah, its sorta like not knowing how to swim but you go ahead and just jump straight into the ocean.
Austin O'Hara
845 PointsI can do basic swimming, just not fancy high-class swimming.
Austin O'Hara
845 PointsAustin O'Hara
845 PointsYes but I would prefer something like this: [Sphere radius] to get a value and [Sphere radius:3] to set a value, or something like that? is it possible. Defining them isn't bad but using them is.