KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Coming from Java background I am guessing this is expected. I would really love to learn Objective-C and start developing Mac apps, but the syntax is just killing me. For example: -(void) setNumerator: (int) n { numerator = n; } What is that dash for and why is followed by void in parenthesis? I've never seen void in parenthesis in C/C++, Java or C#. Why don't we have a semicolon after (int) n ? But we do have it here: -(void) setNumerator: (int) n; And what's with this alloc, init, release process? myFraction = [Fraction alloc]; myFraction = [myFraction init]; [myFraction release]; And why is it [myFraction release]; and not myFraction = [myFraction release]; ? And lastly what's with the @ signs and what's this implementation equivalent in Java? @implementation Fraction @end I am currently reading Programming in Objective C 2.0 and it's just so frustrating learning this new syntax for someone in Java background. UPDATE 1: After reading all these answers and Programming in Objective C 2.0 a little further, it's all starting to make sense now! UPDATE 2: Thanks for the great tip "support-multilanguage". We can combine these two statements into one like so: myFraction = [Fraction alloc]; myFraction = [myFraction init]; Can be reduced to: myFraction = [[Fraction alloc] init];
Tags (comma-separated)
Save Edits
Cancel