OK thanks yet again. I can sense the frustration from some of you, and apologize for that. It's also the main reason why I've not really pursued this train of thought for so long, but just decided to keep at it this time despite annoying people.
And it has been worth it because there were a number of key aspects you guys just highlighted, which pretty much escaped me in my infinite loop of questioning why it is done the way it is (since I was oblivious to the "goings on" in the background).
So, I guess I can probably say, "I get it now!" Thanks to all of you.
The key things that I didn't really know before (and kept hammering on the syntax of the * operator usage being inconsistent) are:
"One of the main difficulties stems from the fact that they gave the * symbol multiple meanings."
and
"...it's not printing whatever is at that address directly. Instead it's handing the address of the object off to the Objective-C runtime in order to extract out the printable information."
and
"It's also much cheaper to pass around small pointers than large objects."
(same as "it's much more efficient to pass the address of a large object to a function.")
These things might obvious to you old hands but I didn't know this. I didn't, for example, realize that it's done this way to gain higher efficiency, or that the method doesn't actually handle the task directly and keeps passing it on to lower level routines (which is why the passing by reference is involved, so as to optimize this process).
I guess I'm the type of person that needs these explanations about something before I will be happy to move onto to the next thing.
Once again, thanks. I am currently having a lot of fun building GUI apps, following along in Cocoa® Programming for Mac® OS X, Third Edition (Aaron H.).
Cheers!
And it has been worth it because there were a number of key aspects you guys just highlighted, which pretty much escaped me in my infinite loop of questioning why it is done the way it is (since I was oblivious to the "goings on" in the background).
So, I guess I can probably say, "I get it now!" Thanks to all of you.
The key things that I didn't really know before (and kept hammering on the syntax of the * operator usage being inconsistent) are:
"One of the main difficulties stems from the fact that they gave the * symbol multiple meanings."
and
"...it's not printing whatever is at that address directly. Instead it's handing the address of the object off to the Objective-C runtime in order to extract out the printable information."
and
"It's also much cheaper to pass around small pointers than large objects."
(same as "it's much more efficient to pass the address of a large object to a function.")
These things might obvious to you old hands but I didn't know this. I didn't, for example, realize that it's done this way to gain higher efficiency, or that the method doesn't actually handle the task directly and keeps passing it on to lower level routines (which is why the passing by reference is involved, so as to optimize this process).
I guess I'm the type of person that needs these explanations about something before I will be happy to move onto to the next thing.
Once again, thanks. I am currently having a lot of fun building GUI apps, following along in Cocoa® Programming for Mac® OS X, Third Edition (Aaron H.).
Cheers!