Objective-C parameter mutation
Objective-C parameter mutation
- Subject: Objective-C parameter mutation
- From: "James Trankelson" <email@hidden>
- Date: Thu, 16 Oct 2008 02:31:56 +0200
Hi,
I have a question about method parameters in Objective C. A long time
ago, I had a method like the following:
-(void) foo:(float)val { }
... and when I would call it ([inst foo:0.001], for example), the
value inside the foo method would NOT be 0.001. At the time, I
believed there to be an Objective C requirement that parameters to
methods need to be pointers to objects, not primitive values. So, I
achieved success by changing the above method declaration to
-(void) foo:(NSNumber*)val { }
... and passing in a NSNumber* with a float value worked.
Now, I'm having the same problem, but am not convinced there is any
such requirement that parameters be pointers to object instances. (I
could be wrong, though)
So, I've got the following method:
+ (void)done:(MyObj*)dObj structure:(void*)pStruct
... and when I call it with a "structure" parameter, say a malloc'ed
char* at address 0x171eb070, as soon as I step into this method, the
address is no longer 0x171eb070, but some garbage value that causes
all sorts of trouble. Here's to hoping someone can tell me why this
doesn't work...
Thanks
jt
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden